ich arbeite gerade an einer Userform die auch schon fast fertig ist und ich habe bei diesem Code hier leider einen Fehler den ich auch nach langem probieren nicht finden kann. Das Ziel ist eine Userform in welcher mithilfe eines Suchbegriffs (hier TextBox9) die restlichen Textboxen gefüllt werden. Das klappt auch alles.
Jedoch wird TextBox10 ausgelassen und weiter möchte ich ComboBoxen ansprechen. Was noch stört ist, dass die Suche durch leerzeichen in der Spalte unterbrochen wird. Gesucht wird nur solange keine Unterbrechungen in der Spalte durch leerzeichen zu finden sind. Aber in meiner Tabelle könnte es schonmal vorkommen dass leerzeichen vorhanden sind. Die Werte die sich unterhalb des leerzeichens (leere Zelle) befinden sollen aber auch in die Suche miteingehen.
Könnte mir auch jemand den Teil unterhalb des Befehls Loop erklären? Wenn ich die Zahlen 2 bis 6, zu 2 bis 9 ändere, was passiert dann? Das Eingeben von Buchstaben geht dann nicht mehr. Aber wie warum, was macht Excel in diesem Fall?
Sub GetData()
If Not IsNumeric(UserForm1.TextBox9.Value) Then
flag = False
i = 1
id = UserForm1.TextBox9.Value
Do While Cells(i + 1, 1).Value ""
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 12
UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
Next j
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 1 To 2
UserForm1.Controls("ComboBox" & j).Value = Cells(i + 1, j).Value
End If
i = i + 1
Loop
If flag = False Then
For j = 2 To 6
UserForm1.Controls("TextBox" & j).Value = ""
Next j
If flag = False Then
For j = 2 To 6
UserForm1.Controls("ComboBox" & j).Value = Cells(i + 1, j).Value
End If
Else
ClearForm
End If
End Sub