Supportnet / Forum / Tabellenkalkulation
benötige Hilfe bei einem VBA-Code
Frage
Hallo und guten Abend,
ich habe ein Problem damit, einen bestehenden VBA-Code an die jetzigen Bedürfnisse anzupassen, vielleicht kann jemand helfen.
Erklärung:
in einer UserForm werden aus Tabelle "Adressen" die Daten in eine Combobox eingelesen, können ausgewählt werden und werden nach betätigen des CommandButtons "cmd_Auswahl" in die Tabelle "neueDaten" geschrieben. Das funktioniert soweit ganz prima, nur wurden die Datensätze bisher immer in Spalte "A" benötigt, jetzt aber in Spalte "H".
Ich kenn mich mit VBA nur sehr wenig aus und weiß einfach nicht, wie ich den Code abändern muß.
hier der Code des betr. CommandButtons:
Private Sub cmdAuswahl_Click()
Dim TB As Worksheet
Dim lZeile%, i% ´lZeile und i = integer
Set TB = Worksheets("NeueDaten")
If IsEmpty(TB.Cells(1, 1)) Then
lZeile = 1
Else
lZeile = TB.Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
For i = 1 To 8
TB.Cells(lZeile, i) = frmSuchen.Controls("Textbox" & i).Value
Next i
End Sub
bisher hab ich das gelöst indem ich ein zusätzliches Tabellenblatt eingefügt habe in das diese Daten geschrieben werden und dann an die benötigte Stelle kopiert, aber das ist ziemlich aufwändig und fehleranfällig.
Ich hoffe, daß jemand helfen kann und wünsche ein schönes Wochenende - Sira
Antwort 1 von ypsilon
hi,
wenn ich dich richtig verstanden habe:
diese Zeile
TB.Cells(lZeile, i) = frmSuchen.Controls("Textbox" & i).Value
ist dafür zuständig
du muss nur 7 Spalten dazuzählen
also
TB.Cells(lZeile, i+7)= frmSuchen.Controls("Textbox" & i).Value
der Rest bleibt wie er ist !
cu Micha
wenn ich dich richtig verstanden habe:
diese Zeile
TB.Cells(lZeile, i) = frmSuchen.Controls("Textbox" & i).Value
ist dafür zuständig
du muss nur 7 Spalten dazuzählen
also
TB.Cells(lZeile, i+7)= frmSuchen.Controls("Textbox" & i).Value
der Rest bleibt wie er ist !
cu Micha
Antwort 2 von Sira
Hi Micha!
Danke, danke, danke. Das wars!
Darauf wär ich nie gekommen. Hab alle anderen Sachen ausprobiert, die irgendwie nach Zellbzügen aussahen, aber grad DAS nicht.
Nur noch die Else-Anweisung von
lZeile = TB.Cells(Rows.Count, 1).End(xlUp).Row + 1
auf Rows.Count, 8 ändern
und es klappt.
Danke nochmals! - Sira
Danke, danke, danke. Das wars!
Darauf wär ich nie gekommen. Hab alle anderen Sachen ausprobiert, die irgendwie nach Zellbzügen aussahen, aber grad DAS nicht.
Nur noch die Else-Anweisung von
lZeile = TB.Cells(Rows.Count, 1).End(xlUp).Row + 1
auf Rows.Count, 8 ändern
und es klappt.
Danke nochmals! - Sira
Antwort 3 von ypsilon
upps,
ja klar, die Zeile hatte ich nicht für voll genommen ;-)
ist aber logisch, wenn du in "H" schreiben willst brauchst du natürlich auch den letzten Eintrag aus "H" und nicht aus "A"
sorry
cu Micha
ja klar, die Zeile hatte ich nicht für voll genommen ;-)
ist aber logisch, wenn du in "H" schreiben willst brauchst du natürlich auch den letzten Eintrag aus "H" und nicht aus "A"
sorry
cu Micha

