Excel Interactive Userform

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox
Bild

Betrifft: Excel Interactive Userform
von: Manu
Geschrieben am: 01.07.2015 04:19:54

Hallo,
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

Bild

Betrifft: AW: Excel Interactive Userform
von: Manu
Geschrieben am: 02.07.2015 09:41:43
Ich möchte mit dieser Suchfunktion die komplette Spalte durchsuchen und die leeren Zellen ignoieren. Die Suche soll weiterlaufen auch wenn die Spalte leere Zellen enthält. Im Moment ist es so, dass die Suche so lange fortgesetzt wird bis eine leere Zelle erreicht wird, die Werte die sich unterhalb befinden gehen nicht mehr in die Suche mit ein.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel Interactive Userform"