Avatar billede valsoeje Nybegynder
12. oktober 2002 - 20:38 Der er 20 kommentarer og
1 løsning

Optionbuttons - data til regneark

Jeg har en userform, hvor det antal minutter man taster ind overføres til næste ledige linie i kolonne A i et data-ark. (der kommer således flere og flere data...). I userformen er der 18 optionbuttons, og kun een af dem skal markeres. Der er et tilsvarende antal kolonner i data-arket, men kun den celle, hvor de indtastede minutter "hører til" - jævnfør valg af optionbutton - skal udfyldes med tiden fra kolonne A. Hvordan programmerer jeg min commandbutton i userformen til det ?
Avatar billede bak Forsker
13. oktober 2002 - 00:36 #1
test denne makro. Den indsætter data fra textbox1 i den kolonne der svarer til OptionButton. Den er dog relativ nem at ændre.
Skal kolonner flyttes til højre så øg cnt fra starten.

Private Sub CommandButton1_Click()
  Dim p As Control
  Dim Cnt As Integer
  Cnt = 0
  For Each p In UserForm1.Controls
    If TypeName(p) = "OptionButton" Then
      Cnt = Cnt + 1
      If p.Value = True Then
      Cells(65536, Cnt).End(xlUp).Offset(1, 0).Value = TextBox1.Value
      Exit For
      End If
    End If
  Next
End Sub
Avatar billede bak Forsker
16. oktober 2002 - 22:15 #2
Kan du få det til at virke , valsoeje ??
17. oktober 2002 - 09:27 #3
Tag egenskaben på din OptionButton er et fint sted at sætte evt. kolonnenr. hvor A=1 eller selve kolonne bogstavet. Du kan så hente Tag egenskaben, når du skal finde cellen.

Dim ctl As Control
For Each ctl In Me.Controls
    If TypeName(ctl) = "OptionButton" And ctl.Value Then
        ActiveSheet.Cells(ActiveCell.Row, ctl.Tag).Value = xxx
'ELLER (kolonnebogstav i tag egenskaben)
        ActiveSheet.Range(ctl.Tag & ActiveCell.Row).Value = xxx
    End If
Next ctl
21. oktober 2002 - 15:23 #4
valsoeje>> fik du løst dit problem ?
Avatar billede valsoeje Nybegynder
22. oktober 2002 - 10:17 #5
Hej begge. Der vil gå endnu nogen tid før jeg atter kan komme til mit program, ca. en uge. Så prøver jeg det og vender tilbage.
Avatar billede valsoeje Nybegynder
25. oktober 2002 - 15:15 #6
Hej igen. Mine evner rakte til at få mine optionbuttons til at indsætte værdien SAND i den rigtige celle, og FALSK i resten. Nu skal jeg så bare have SAND-værdien til at være lig med det antal minutter, som er indtastet i textbox 3, og som ligger i tredje celle i den aktuelle række ?      Falsk-værdien skal være nul.
25. oktober 2002 - 15:18 #7
I stedet for at indsætte SAND - så indsæt Textbox3.Value
Avatar billede valsoeje Nybegynder
25. oktober 2002 - 15:38 #8
Mit udgangspunkt er den makro, som bak har skrevet ovenfor. Jeg har husket at ændre den til textbox3.value. Men der kommer ikke nogen information fra den markerede optionbutton med over i mit data-ark.
25. oktober 2002 - 16:47 #9
Nu er jeg ikke specielt meget for bak's makro *ss* men jeg vil gerne kigge på det senere i aften hvis du vil sende mig arket fd@win-consult.com
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 00:03 #10
Hej Flemmindahl...Jeg forsøgte at maile det, men en mailrobot sendte det retur - surt show. Her er selve VBA-koden.

Private Sub CommandButton1_Click()
'Finder næste ledige række i Data-arket.
Worksheets("Data").Activate
C = 1
Do Until Worksheets("Data").Cells(C, 1) = ""
  C = C + 1
  Loop
 
'Tilføjer teksten i tekstboxen til næste række ledige celler.
    Cells(C, 1) = UserForm1!TextBox1.Value
    Cells(C, 2) = UserForm1!TextBox2.Value
    Cells(C, 3) = UserForm1!TextBox3.Value
       
'(Her stod koden til alternativknappere... )


             
'Vender retur til inputmasken og nulstiller den.
    Worksheets("Inputmaske").Activate
    Unload Me
    UserForm1.Show
   
End Sub

Som det vil fremgå er jeg vel nærmest mongol til VBA - men jeg gør da et forsøg...
27. oktober 2002 - 00:15 #11
øh - fatter ikke hvad du vil have...
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 00:24 #12
Joh, se: Textboxene sætter en værdi ind i kolonne a,b og c i et data ark. Box 1 sætter et navn i kolonne a, box to sætter en  HT buslinie i kolonne b, og i box 3 skrives et antal minutter, som sættes i kolonne c. Hver alternativknap angiver en årsag til bussens forsinkelse, og det antal minutter der skrives i box 3 (kolonne c) skal overføres til den kolonne - og kun den - der har samme overskrift som alternativknappen. På denne måde håber jeg at kunne analysere, hvad der forsinker busserne, og hvornår.

Det, der tastes ind i de tre textbokse kan jeg godt få overført til mit data ark. Men jeg kan ikke få det antal minutter jeg taster ind til at lægge sig i den kolonne, som jeg vælger med alternativknappen...
27. oktober 2002 - 00:27 #13
altså, hvis du vælger OptionButton1 så skal den skrive TextBox3.Value hvor ? hvis OptionButton2 hvor ?
27. oktober 2002 - 00:29 #14
prøv lige at sende dit ark igen fd@win-consult.com
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 00:33 #15
kommer...
jeg skal lige have tændt for en anden PC - der er noget galt med konfigureringen på denne her...
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 00:43 #16
kommer nu...
27. oktober 2002 - 01:20 #17
sendt retur
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 01:24 #18
Genialt... Jeg må vist hellere se at få læst lidt mere om den der tag egenskab - jeg anede ikke det var så nemt. Under alle omstændigheder var det en meget stor hjælp. Nu kan jeg komme videre med at få programmet til at præsentere data så andre også kan have glæde af det.

Mange tak skal du have !!!
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 01:28 #19
...og for nu at virke fuldstændig håbløs - jeg har valgt "accepter svar fra" ...etc, men pointene står stadig som ude ¿¿¿
Avatar billede valsoeje Nybegynder
27. oktober 2002 - 01:44 #20
ser ud til du har fået dem.....Igen, tak for hjælpen.
27. oktober 2002 - 01:45 #21
velbekomme og god fornøjelse med vba'en
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