Avatar billede kaspervilla Nybegynder
23. juni 2010 - 13:13 Der er 11 kommentarer og
1 løsning

Userbuttons i Excel 2007

Hej eksperter
Sidder og laver en Userform i Excel 2007 til en spørgeskemaundersøgelse.
Jeg har tidligere kunnet skrive SAND/FALSK fra en Userbutton til et andet worksheet med:

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
'copy the data to the database
ws.Cells(iRow, 1).Value = Me.Button.Value

Men nu vil jeg gerne have 6 Userbuttons kædet sammen, med værdierne 1-6. (til et spørgsmål á la: Hvor tilfreds er du 1-6?)
Jeg har lavet de 6 knapper og prøver at Groupe dem sammen.
Men hvordan får jeg dem til at skrive den valgte værdi (1-6) til en celle i mit andet worksheet?

Håber i kan hjælpe mig
Hilsen Kasper
Avatar billede supertekst Ekspert
23. juni 2010 - 16:56 #1
Til inspiration:

Private Sub OptionButton1_change()
    valgt 1
End Sub
Private Sub OptionButton2_change()
    valgt 2
End Sub
Private Sub OptionButton3_change()
    valgt 3
End Sub
Private Sub valgt(værdi)
    ActiveSheet.Cells(1, 1) = værdi
End Sub
Avatar billede store-morten Ekspert
23. juni 2010 - 20:37 #2
Eller:

Private Sub OptionButton1_Click()
ActiveSheet.Cells(1, 1) = 1
End Sub
Private Sub OptionButton2_Click()
ActiveSheet.Cells(1, 1) = 2
End Sub
Private Sub OptionButton3_Click()
ActiveSheet.Cells(1, 1) = 3
End Sub
Private Sub OptionButton4_Click()
ActiveSheet.Cells(1, 1) = 4
End Sub
Private Sub OptionButton5_Click()
ActiveSheet.Cells(1, 1) = 5
End Sub
Private Sub OptionButton6_Click()
ActiveSheet.Cells(1, 1) = 6
End Sub
Avatar billede store-morten Ekspert
23. juni 2010 - 20:40 #3
Eller:

Private Sub OptionButton1_Click()
ActiveSheet.Cells(1, 1) = "God"
End Sub
Private Sub OptionButton2_Click()
ActiveSheet.Cells(1, 1) = "Bedre"
End Sub
Private Sub OptionButton3_Click()
ActiveSheet.Cells(1, 1) = "Bedst"
End Sub

:-)
Avatar billede kaspervilla Nybegynder
26. juni 2010 - 08:35 #4
Hej store-morten
Tusind tak for din hjælp!
Jeg kan virkelig bruge det, men er ikke særlig erfaren med VBA.

Det virken men mit eneste problen lige nu er hvordan jeg får sendt  (værdi) til mit data ark- defineret som ws.
Jeg brugte før:

ws.Cells(iRow, 1).Value = Me.Button.Value

men hvis jeg putter ws.Cells(iRow, 1).Value ind i stedet for ActiveSheet.Cells(1, 1) - i din model:

Private Sub valgt(værdi)
    ActiveSheet.Cells(1, 1) = værdi
End Sub

Så får jeg fejl.
Kan du hjælpe mig med det også ?
På forhånd tak
Hilsen
Kasper
Avatar billede store-morten Ekspert
26. juni 2010 - 11:41 #5
Private Sub OptionButton1_Click()
ActiveSheet..Cells(1, 1) = "God"
End Sub
Private Sub OptionButton2_Click()
ActiveSheet.Cells(1, 1) = "Bedre"
End Sub
Private Sub OptionButton3_Click()
ActiveSheet..Cells(1, 1) = "Bedst"
End Sub

Private Sub OptionButton1_Click()
Ark2.Cells(1, 1) = "God"
End Sub
Private Sub OptionButton2_Click()
Ark2.Cells(1, 1) = "Bedre"
End Sub
Private Sub OptionButton3_Click()
Ark2.Cells(1, 1) = "Bedst"
End Sub

Sender valgte om på Ark2 i A1. (fast pladsering)
Avatar billede store-morten Ekspert
26. juni 2010 - 11:51 #6
Private Sub OptionButton1_Click()
iRow = Ark2.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
Ark2.Cells(iRow, 1) = "God"
End Sub
Private Sub OptionButton2_Click()
iRow = Ark2.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
Ark2.Cells(iRow, 1) = "Bedre"
End Sub
Private Sub OptionButton3_Click()
iRow = Ark2.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
Ark2.Cells(iRow, 1) = "Bedst"
End Sub

Sender første valgte om på Ark2 i A1. (Hvis A1 er tom, ellers næste tomme celle i kolonne A)
Og næste valg om på Ark2 i næste tomme celle i kolonne A
Avatar billede kaspervilla Nybegynder
27. juni 2010 - 17:02 #7
Hej store-morten
Fantastisk - tak skal du have.
Roder videre med det når jeg er tilbage på arbejdet!
Hilsen fra
Kasper
Avatar billede kaspervilla Nybegynder
30. juni 2010 - 10:48 #8
Hej igen store-morten
Håber det er ok jeg spørger lidt videre!

Hvad nu hvis jeg gerne vil have det sådan at værdien for OptionButton's først bliver sendt til ark2 når man klikker på en registreringsknap?

Spøreskemaet har 10 spørgsmålet, med 6 optionbuttons til hver (1-6). Og jeg vil gerne have at man har mulighed for at ændre inden man registrerer endeligt.

Med tekstbokse har jeg brugt :

Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Ark1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.TextBox1.Value
ws.Cells(iRow, 2).Value = Me.TextBox2.Value
ws.Cells(iRow, 3).Value = Me.TextBox3.Value

-----
Tror du man kan det samme med 6 optionbuttons pr. spørgsmål?

Hilsen fra
Kasper
Avatar billede store-morten Ekspert
30. juni 2010 - 15:43 #9
Prøv at sende Arket til mig, adresse under profil.
Avatar billede store-morten Ekspert
26. oktober 2010 - 12:00 #10
Hej Kasper, du får lige et 'Svar' så der kan lukkes :-)
Avatar billede kaspervilla Nybegynder
27. oktober 2010 - 07:29 #11
Tak!!!
Det hele er løst.
Avatar billede store-morten Ekspert
27. oktober 2010 - 18:25 #12
Velbekomme
http://www.eksperten.dk/faq#faq-3-1
Hvordan accepterer eller afviser jeg et svar?
Når der er kommet et svar som du kan bruge, så klikker du ud for selve svaret i boksen "Acceptér dette svar". Derefter accepterer du svaret i den boks som dukker frem.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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