Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Inhalt aus mehreren Textboxen in Tabelle suchen
#1
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
Antworten Top
#2
Kann mir keiner helfen??? :(
Antworten Top
#3
Hallöchen,

was ist Name_Suchen?

PS: Bitte nutze die Codetags für den kompletten Code und nicht in jeder Codezeile.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste