Avatar billede h_s Forsker
08. marts 2012 - 21:39 Der er 17 kommentarer og
1 løsning

Makro til at styre indhold i celle og 2 alternativknapper

Jeg har et skalafelt-kontorlelement, med årstal.
Når der trykkes op går årstallet opad og trykke ned, ja så går årstal ned.
Samtidig har jeg 2 alternativknapper 1= 1. halvår 2 = 2. halvår.

Nu vil jeg gerne have skalafelt-kontrolelementet til at springe fra 2009 1. halvår til 2009 2. halvår osv. med et klik.
Kan der laves en makro der kan lægges i skalafelt-kontolelemetet?

Cellerne er Q27 for årstal og Q28 for halvår!

På forhånd tak!
Avatar billede h_s Forsker
08. marts 2012 - 21:40 #1
Jeg har prøvet med:

Public Sub dato()
If Sheets("Graf").Range("Q28") = 1 Then
    Sheets("Graf").Range("Q28") = 2
Else

If Sheets("Graf").Range("Q28") = 2 Then
    Sheets("Graf").Range("Q28") = 1
End If
End If

End Sub

men det virker ikke efter hensigten!
Avatar billede store-morten Ekspert
11. marts 2012 - 16:00 #2
Uden Makro
Liste på Ark2
Et skalafelt-kontorlelement
Cellerne er Q27 for årstal og Q28 for halvår!
http://gupl.dk/675569/
Excel 2010
Avatar billede h_s Forsker
11. marts 2012 - 19:17 #3
Hej store-morten

Forstår ikke helt hvad du mener - vil du uddybe?
Du har lavet et link til en hjemmeside - Hvad kan jeg bruge den til?
Hilsen Henrik
Avatar billede store-morten Ekspert
11. marts 2012 - 19:48 #4
Der kan du hente et Excel ark med et eksempel.
Avatar billede store-morten Ekspert
11. marts 2012 - 20:18 #5
Makro

Når jeg laver et skalafelt-kontorlelement hedder det "SpinButton1" i VBA

Private Sub SpinButton1_SpinUp()
If Range("Q28") = 1 Then
Range("Q28") = 2
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
Range("Q27") = Range("Q27") + 1
End If
End If
End Sub
Private Sub SpinButton1_SpinDown()
If Range("Q28") = 1 Then
Range("Q28") = 2
Range("Q27") = Range("Q27") - 1
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
End If
End If
End Sub
Avatar billede h_s Forsker
12. marts 2012 - 17:34 #6
Denne makro vil jeg gerne afprøve, men hvor skal jeg sætte den ind?
Når jeg laver et modul kan jeg ikke finde den!
Avatar billede store-morten Ekspert
12. marts 2012 - 18:03 #7
Kopier koden.

I arket, på den fane, du har din skalafelt-kontorlelement, der hedder "SpinButton1"
Højre-klik på fane navnet, og vælg "Vis programkode" tryk ctrl + v
Luk på det røde kryds.
Avatar billede h_s Forsker
12. marts 2012 - 21:46 #8
Jeg kan simpelt hen ikke finde noget sted, hvor jeg kan omdøbe skalafelt-kontrolelementet til "spinbutton1".
Er du sikker på jeg kan det, når elementet er direkte i regnarket og ikke i en formular?
Avatar billede store-morten Ekspert
12. marts 2012 - 22:10 #9
Avatar billede h_s Forsker
22. april 2012 - 10:28 #10
Nu er det endelig lykkes mig at få mulighed for at tilføje den ene makro mit kontrolelement.

Jeg slettede "Private" foran sub. Så ser makroerne sådan ud:

Private Sub SpinButton1_SpinUp()
If Range("Q28") = 1 Then
Range("Q28") = 2
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
Range("Q27") = Range("Q27") + 1
End If
End If
End Sub

Private Sub SpinButton1_SpinDown()
If Range("Q28") = 1 Then
Range("Q28") = 2
Range("Q27") = Range("Q27") - 1
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
End If
End If
End Sub

Men jeg kan kun tilføje den ene makro. Hvad gør jeg forkert?
Jeg kan godt se det virker i dit ekempel, men ikke hos mig!
Avatar billede store-morten Ekspert
22. april 2012 - 11:00 #11
Det virker fint hos mig.

Der skal stå et 1 eller 2 tal i celle Q27
Og der skal stå et årstal i Q28
Avatar billede store-morten Ekspert
27. april 2012 - 23:00 #12
Eller er det fordi du har valgt 'Skalafelt' i "kontrolelement for formular"

Du skal bruge 'Skalafelt' fra "ActiveX-objekter"
Og i 'Designtilstand' højreklik på 'Skalafelt' og vælge "Vis programkode"
(eller i 'Designtilstand' dobbelt klik på 'Skalafelt')
Avatar billede h_s Forsker
23. juni 2012 - 15:15 #13
Jeg har simpelthen prøvet alt. Kan jeg sende arket til dig på mail?
Avatar billede store-morten Ekspert
23. juni 2012 - 16:28 #14
Ja, gør du bare det.
Avatar billede h_s Forsker
23. juni 2012 - 16:36 #15
Er sendt!
Avatar billede store-morten Ekspert
23. juni 2012 - 18:18 #16
Sendt retur!
Avatar billede store-morten Ekspert
24. juni 2012 - 16:37 #17
Endte med to knapper(formularkontrolelement) med teksten:
Frem og "Tilbage"

og rettet kode:
Sub Frem()
If Range("Q28") = 1 Then
Range("Q28") = 2
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
Range("Q27") = Range("Q27") + 1
End If
End If
End Sub

Sub Tilbage()
If Range("Q28") = 1 Then
Range("Q28") = 2
Range("Q27") = Range("Q27") - 1
Else
If Range("Q28") = 2 Then
Range("Q28") = 1
End If
End If
End Sub
Avatar billede h_s Forsker
24. juni 2012 - 16:33 #18
Løsning virker

Store-morten smid et svar det virker. Årsagen til at denne løsning ikke virkede hos mig var at jeg har office 2011 til mac...

Og jeg som troede det var ens nu! Det viser sig at office 2011 til mac ikke har ActiveX.

Det har Store-morten også lavet en løsning til, som jeg håber han vil beskrive her :-)

Tak endnu engang!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester