Clever-Excel-Forum

Normale Version: Inhalt aus mehreren Textboxen in Tabelle suchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe eine Userform mit 3 TextBoxen und einer ListBox erstellt.
Wenn ich nun in die erste TextBox etwas eingebe wird der Wert in der Tabelle gesucht alle Ergebnisse werden in der ListBox ausgegeben.
Nun möchte ich aber gerne, dass auch der Inhalt der anderen beiden TextBoxen geprüft wird und die Ergebnisse in der ListBox angezeigt werden.

TextBox 1 = Name_suchen
TextBox 2 = Vorname_suchen
TextBox 3 = Kundennummer_suchen

ListBox = Ergebniss_suchen

Ich möchte gerne eine und-/oder-Prüfung durchführen.

Anbei noch mein Code.

Code:
Private Sub Suchen_suchen_Click() 'ByVal Cancel As MSForms.ReturnBoolean)
Code:
Dim c As Range
Code:
    Dim rngBereich As Range
Code:
    Dim lngAnzahl As Long
Code:
    Dim strFirst As String
Code:
    With Sheets("Kundendaten")
Code:
        Set rngBereich = .Columns("A:R")
Code:
        Set c = rngBereich.Find(Name_suchen, LookIn:=xlValues, lookat:=xlPart)
Code:
        If Not c Is Nothing Then
Code:
            strFirst = c.Address
Code:
            Do
Code:
                Suchergebnisse_suchen.AddItem .Cells(c.Row, 4)
Code:
                lngAnzahl = Suchergebnisse_suchen.ListCount
Code:
                Suchergebnisse_suchen.List(lngAnzahl - 1, 1) = .Cells(c.Row, 6)
Code:
                Suchergebnisse_suchen.List(lngAnzahl - 1, 2) = .Cells(c.Row, 5)
Code:
                Set c = rngBereich.FindNext(c)
Code:
            Loop While Not c Is Nothing And c.Address <> strFirst
Code:
        End If
Code:
    End With
Code:
End Sub


Vielen Dank für eure Hilfe.

Viele Grüße

Robbie1985
Kann mir keiner helfen??? :(
Hallöchen,

was ist Name_Suchen?

PS: Bitte nutze die Codetags für den kompletten Code und nicht in jeder Codezeile.
Hi,

da wäre vielleicht eine Reise durch alle Zellen besser. Also jede Zelle mit einer Schleife auf Suchkriterien prüfen. Am besten, diese erst in ein Array geben und dieses durchsuchen, wegen der Geschwindigkeit. Allerdings sollte man den Suchbereich auf den Usedrange einschränken, um nicht ganz Spalten durchsuchen zu müssen.

Dein Code sieht übrigens so aus (als ein Stück):

Zitat:Private Sub Suchen_suchen_Click() 'ByVal Cancel As MSForms.ReturnBoolean)

    Dim c As Range

    Dim rngBereich As Range
    Dim lngAnzahl As Long
    Dim strFirst As String
    Dim Name_suchen
    With Sheets("Kundendaten")
        Set rngBereich = .Columns("A:R")
        Set c = rngBereich.Find(Name_suchen, LookIn:=xlValues, lookat:=xlPart)
        If Not c Is Nothing Then
            strFirst = c.Address
            Do
                Suchergebnisse_suchen.AddItem .Cells(c.Row, 4)
                lngAnzahl = Suchergebnisse_suchen.ListCount
                Suchergebnisse_suchen.List(lngAnzahl - 1, 1) = .Cells(c.Row, 6)
                Suchergebnisse_suchen.List(lngAnzahl - 1, 2) = .Cells(c.Row, 5)
                Set c = rngBereich.FindNext©
            Loop While Not c Is Nothing And c.Address <> strFirst
        End If
    End With
End Sub

LG