Avatar billede jokerper Nybegynder
11. marts 2009 - 18:37 Der er 10 kommentarer og
1 løsning

VBA - næste clle input - xlDown

Er der en som kan vise mig hvordan jeg kan lave en xlDown?

Jeg har et ark og en UserForm hvor jeg gerne ville have nogle tekstboxe som kan følgende:

ComboBox1 - TekstBox2 - TekstBox3_Exit()

Tast i ComboBox1,TekstBox2,TekstBox3 indsæt i fx A1,B1,C1 + xlDown. 

Så der ved Exit i TekstBox3 altså springes ned i cellen under A2, indsætter teksten i celle A1,B1,C1 osv.
Sheets("Ark1").Range("A1").Value = UserForm1.ComboBox1.Text
Sheets("Ark1").Range("B1").Value = UserForm1.TekstBox2.Text
Sheets("Ark1").Range("C1").Value = UserForm1.TekstBox3.Text
- xlDown "et eller andet" Nylinie.

Således at jeg kan bruge de samme tekstboxe til at skrive til flere linier, håber det er til at forstå.
Avatar billede excelent Ekspert
11. marts 2009 - 19:13 #1
Sheets("Ark1").cells(1000,"A").end(xlup).row+1=userform.....

denne starter nede fra række 1000 og søger opad til den finder en celle med værdi
Avatar billede jokerper Nybegynder
11. marts 2009 - 19:41 #2
Okay, men det er ikke helt det jeg ville forsøge.

Jeg ville prøve at indsætte præcis i Række B6:B19 men jeg har også noget i eks. B40.

Derfor ville jeg gerne have den til at gå nedad, så når D6 var udfyldt så skulle den gå til B7.

Og videre ville jeg lave koden til også at ramme:

B21:B27 på samme måde osv.

Derfor skal den helst bare gå ned til næste linie. Så jeg ikke skulle have så mange textboxe på min form - da cellerne B6:B19 er tilstrækkeligt.
Avatar billede excelent Ekspert
11. marts 2009 - 19:55 #3
rk = Cells(19, 2).End(xlUp).Row + 1
If rk < 6 Then rk = 6
Cells(rk, 2) = userform.....
Avatar billede jokerper Nybegynder
11. marts 2009 - 20:50 #4
Nu har jeg lavet den sådan her, men det virker ikke rigtigt.

Private Sub TextBox26_Exit(ByVal Cancel As MSForms.ReturnBoolean)
rk = Cells(19, 2).End(xlUp).Row + 1
If rk < 6 Then rk = 6
Cells(rk, 2) = UserForm1.ComboBox1.Text
Cells(rk, 3) = UserForm1.TextBox6.Text
Cells(rk, 4) = UserForm1.TextBox26.Text
If rk < 7 Then rk = 7
Cells(rk, 2) = UserForm1.ComboBox1.Text
Cells(rk, 3) = UserForm1.TextBox6.Text
Cells(rk, 4) = UserForm1.TextBox26.Text
If rk < 8 Then rk = 8
Cells(rk, 2) = UserForm1.ComboBox1.Text
Cells(rk, 3) = UserForm1.TextBox6.Text
Cells(rk, 4) = UserForm1.TextBox26.Text

End Sub

Jeg håber du forstår hvad jeg mener, med koden.
Avatar billede jokerper Nybegynder
11. marts 2009 - 21:17 #5
Fra række D6 start ny linie.

Række 7 B7,C7,D7 - ny linie
Række 8 B8,C8,D8 - ny linie
osv.
Avatar billede excelent Ekspert
11. marts 2009 - 21:36 #6
Værdierne i ComboBox1, TextBox6, TextBox26 skal vel ikke skrives 3 gange under hinanden med samme værdier ?
Så koden skal vel blot være sådan:

Private Sub TextBox26_Exit(ByVal Cancel As MSForms.ReturnBoolean)
rk = Cells(19, 2).End(xlUp).Row + 1
If rk < 6 Then rk = 6
Cells(rk, 2) = UserForm1.ComboBox1.Text
Cells(rk, 3) = UserForm1.TextBox6.Text
Cells(rk, 4) = UserForm1.TextBox26.Text
End Sub
Avatar billede jokerper Nybegynder
11. marts 2009 - 21:57 #7
Den laver output sådan her!

1 1
2 2 2
3 3 3

Burde være

1 1 1
2 2 2
3 3 3

rk = Cells(19, 2).End(xlUp).Row + 1
If rk < 6 Then rk = 6
Cells(rk, 2) = UserForm1.ComboBox1.Text
Cells(rk, 3) = UserForm1.TextBox6.Text
Cells(rk, 4) = UserForm1.TextBox26.Text
Avatar billede jokerper Nybegynder
11. marts 2009 - 22:28 #8
Undskyld - begynder fejl!!!

Jeg havde glemt at slette nogle "tests".

Læg et svar for point, tak for hjælpen.
Avatar billede excelent Ekspert
12. marts 2009 - 15:35 #9
shit happens :-) velbekom
Avatar billede excelent Ekspert
19. marts 2009 - 19:38 #10
husk lige at lukke
Avatar billede jokerper Nybegynder
19. marts 2009 - 22:38 #11
Ja, jeg lukker altid mine spm. Men du kender garanteret det når man er i gang med et projekt, så kører man intents på det og desuden kunne der også lige komme nogle andre med nogen andre muligheder.

Men tak for din hjælp.
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