Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

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"