VBA UserForm - Textbox Wert in Tabelle

Betrifft: VBA UserForm - Textbox Wert in Tabelle
von: Moritz Müller
Geschrieben am: 03.11.2020 14:01:26
Hallo liebe Experten,
ich habe eine UserForm erstellt mit der ich gewisse Informationen in eine Tabelle übertragen möchte. Funktioniert auch alles soweit nur habe ich ein kleines Problem zu dem ich keine Lösung finde.
Die Werte, die ich in der UserForm in die verschiedenen Textboxen eingebe sind in der Tabelle um eine Spalte nach links verschoben. Das heißt:
TextBox1 gibt den Wert in Splate A aus und nicht in Spalte B
TextBox2 gibt den Wert in Splate B aus und nicht in Spalte C
https://www.herber.de/bbs/user/141275.xlsm
Kann mir jemand sagen, wo in dem Code der Fehler ist, dass Textboxen und Spalten nicht zusammenpassen?
Vielen Dank für eure Hilfe.

Betrifft: AW: VBA UserForm - Textbox Wert in Tabelle
von: Peter (hpo)
Geschrieben am: 03.11.2020 14:11:04
Hallo Moritz Müller
in deiner schleife wir in der Textbox1 der wert aus der Spalte "A" eingetragen, weil deine schleife mit 1 beginnt.
Probier folgendendes:
Private Sub EINTRAG_LADEN_UND_ANZEIGEN()
Dim lZeile As Long
Dim i As Integer
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
If ListBox1.ListIndex >= 0 Then
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = CStr(Sheet1.Cells(lZeile, i + 1).Text)
Next i
End If
End Sub
Gruß
Peter (hpo)

Betrifft: AW: VBA UserForm - Textbox Wert in Tabelle
von: Moritz Müller
Geschrieben am: 03.11.2020 14:41:24
Hallo Peter,
vielen Dank für die schnelle Antwort. Das abändern des Codes, wie du es vorgeschlagen hat nicht das gewünschte Resultat erziehlt, aber du hast mir damit auf den richtigen Weg gebracht.
Der Code den nicht abändern musste war folgender:
Private Sub EINTRAG_SPEICHERN()
Dim lZeile As Long
Dim i As Integer
If ListBox1.ListIndex = -1 Then Exit Sub
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Sheet1.Cells(lZeile, i + 1) = Me.Controls("TextBox" & i)
Next i
ListBox1.List(ListBox1.ListIndex, 1) = TextBox1
ListBox1.List(ListBox1.ListIndex, 2) = TextBox2
End Sub
Manchmal brauch es halt echt nur einen kleinen Anstoß :-)
Beiträge aus dem Excel-Forum zum Thema "VBA UserForm - Textbox Wert in Tabelle"