05. april 2006 - 17:24Der er
20 kommentarer og 1 løsning
VBA i excel
Hej. jeg forsøger at sidde og programmere et lille vba stykke der skal åbne en form som så skal udfyldes af brugeren og derefter føre informationen der er indtastet ind på den næste tomme plads.
håber i kan se hvad jeg mener.. men bare så i ved det.. hvis en enkelt rubrik ikke er udfyldt på linien ovenover må den altså ikke knalde den op i den ovenover så det ikke giver nogen mening.
Håber i kan følge mig og at nogen der kan der det med kode kan hjælpe mig.
testCheckBokse End Sub Private Sub testCheckBokse() Dim cb, con As Control For cb = 1 To 6 Set con = Me.Controls("checkbox" + CStr(cb)) If con.Value = True Then Cells(førsteLedigeRække, cb + 7) = "X" 'begynd med kolonne H End If Next cb End Sub Private Function findFørsteLedigeRække() Dim r Cells(1, 1).Select r = 1 While erRækkeledig(r) = False r = r + 1 Wend
findFørsteLedigeRække = r End Function Private Function erRækkeledig(ræk) Dim kolonne, ok As Boolean ok = True For kolonne = 1 To 13 If Cells(ræk, kolonne) <> "" Then erRækkeledig = False Exit Function End If Next kolonne
Jeg må nok indrømme jeg forstår ikke hele koden, nu siger du den kun tager højde for checkboksene. dvs at hvis jeg udfylder noget i de tomme felter til tekst så bliver det ikke indsat ?
Korrekt. I den userform, som jeg har dannet for at teste - har jeg kun de 6 cb'er afsat.
Du kan i Sub testCheckBokse - se at her testes boksene på skift og er de sat indsættes de i rækken - kolonnen cb'ens nr + 7 - idet - X indsættes fra kolonne 8 (H).
rem Her indsættes tekstfelter fra userformen i de enkelte kolonner cells(førsteLedigeRække,2) = me.Textbox4 'Produkt har f.eks. dette boxnavnet . . . . . . . . . . cells(førsteLedigeRække,6) = me.Textbox1 'RMA-nummer -> kolonne 6 rem o.s.v.
Cells(førsteLedigeRække, 6) = Me.txtrma 'rma nr. har dette boxnavn Cells(førsteLedigeRække, 4) = Me.txtsn 's/n har dette boxnavn Cells(førsteLedigeRække, 3) = Me.txtprodu 'Producent har dette boxnavn Cells(førsteLedigeRække, 2) = Me.txtprodukt 'Produkt har dette boxnavn Cells(førsteLedigeRække, 5) = Me.txtdealer 'Forhandler har dette boxnavn Cells(førsteLedigeRække, 15) = Me.txterror 'fejl har dette boxnavn
testCheckBokse End Sub Private Sub testCheckBokse() Dim cb, con As Control For cb = 1 To 6 Set con = Me.Controls("checkbox" + CStr(cb)) If con.Value = True Then Cells(førsteLedigeRække, cb + 7) = "X" 'begynd med kolonne H End If Next cb End Sub Private Function findFørsteLedigeRække() Dim r Cells(1, 1).Select r = 1 While erRækkeledig(r) = False r = r + 1 Wend
findFørsteLedigeRække = r End Function Private Function erRækkeledig(ræk) Dim kolonne, ok As Boolean ok = True For kolonne = 1 To 13 If Cells(ræk, kolonne) <> "" Then erRækkeledig = False Exit Function End If Next kolonne
erRækkeledig = True End Function
>>>>Private Sub UserForm_Click()<<<<< Den siger expected end sub .. men den har jo end sub ? er det mig der har lavet lort i koden ?
Cells(førsteLedigeRække, 6) = Me.txtrma 'rma nr. har dette boxnavn Cells(førsteLedigeRække, 4) = Me.txtsn 's/n har dette boxnavn Cells(førsteLedigeRække, 3) = Me.txtprodu 'Producent har dette boxnavn Cells(førsteLedigeRække, 2) = Me.txtprodukt 'Produkt har dette boxnavn Cells(førsteLedigeRække, 5) = Me.txtdealer 'Forhandler har dette boxnavn Cells(førsteLedigeRække, 15) = Me.txterror 'fejl har dette boxnavn
testCheckBokse End Sub Private Sub testCheckBokse() Dim cb, con As Control For cb = 1 To 6 Set con = Me.Controls("checkbox" + CStr(cb)) If con.Value = True Then Cells(førsteLedigeRække, cb + 7) = "X" 'begynd med kolonne H End If Next cb End Sub Private Function findFørsteLedigeRække() Dim r Cells(1, 1).Select r = 1 While erRækkeledig(r) = False r = r + 1 Wend
findFørsteLedigeRække = r End Function Private Function erRækkeledig(ræk) Dim kolonne, ok As Boolean ok = True For kolonne = 1 To 13 If Cells(ræk, kolonne) <> "" Then erRækkeledig = False Exit Function End If Next kolonne
erRækkeledig = True End Function End Sub
denne gang vil den bare slet ingen ting... hvis jeg sætter rem forand den code der siger at når jeg trykker på userformen så skal den køre koden så bliver den grøn og intet virker ?
jeg kan ikke den til at gøre noget, hvor trykker du for at den skal smide tingene ind ? tror jeg smider et link til min fil .. så må du se om du kan se fejlen.
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.