Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In Listview suchen

In Listview suchen
13.06.2016 08:34:32
baschti007
Hallo einen guten Morgen .
Ich würde gerne in dem Listview suchen ob ein Subitem den Text in der Textbox1 enthällt. Gibt es eine befehl der prüft ob die zeichen in dem ganzen text enthalten sind , so das nicht nur exakte Text gefunden wird ?
Also in Listview seht "Hans mag gerne Döner" und in meiner TextBox "Döner" und er soll dennoch den Listview eintrag finden.
Sub Suchen
For y = 1 To ListView1.ListItems.Count
If ListView1.ListItems(y - i).ListSubItems(3).Text = TextBox1.Text Then
else
ListView1.ListItems.Remove (ListView1.ListItems(y - i).Index)
i = i + 1
End If
Next
End Sub

gruß Basti

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Like-Operator mit "*"
13.06.2016 10:27:31
ransi
Hallo,
Hilft dir der Like-Operator weiter ?
If ListView1.ListItems(y - i).ListSubItems(3).Text like "*" & TextBox1.Text &"*" then ...
ransi

AW: Like-Operator mit "*"
13.06.2016 11:30:20
baschti007
Joa Super Danke =)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

In Listview suchen: Effektive Methoden und Tipps


Schritt-für-Schritt-Anleitung

Um in einem Excel Listview nach einem bestimmten Subitem zu suchen, kannst du den folgenden VBA-Code verwenden. Dieser Code sucht nach einem Text in der TextBox und findet Übereinstimmungen, die nicht unbedingt exakt sind.

  1. Öffne dein Excel-Dokument und gehe in den VBA-Editor (ALT + F11).
  2. Füge ein neues Modul hinzu.
  3. Kopiere den folgenden Code in das Modul:
Sub Suchen()
    Dim y As Integer
    Dim i As Integer
    i = 0
    For y = 1 To ListView1.ListItems.Count
        If ListView1.ListItems(y - i).ListSubItems(3).Text Like "*" & TextBox1.Text & "*" Then
            ' Treffer gefunden - nichts tun
        Else
            ' Eintrag entfernen, wenn kein Treffer
            ListView1.ListItems.Remove (ListView1.ListItems(y - i).Index)
            i = i + 1
        End If
    Next
End Sub
  1. Stelle sicher, dass ListView1 der Name deines Listviews ist und TextBox1 die TextBox, in der du nach einem Text suchst.
  2. Schließe den VBA-Editor und teste den Code.

Häufige Fehler und Lösungen

  • Fehler: "Objektvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass das Listview und die Textbox korrekt benannt sind. Prüfe die Eigenschaften im VBA-Editor.
  • Fehler: Kein Treffer trotz übereinstimmendem Text

    • Lösung: Überprüfe, ob der Text in der TextBox korrekt eingegeben wurde. Achte auf Leerzeichen oder falsche Groß- und Kleinschreibung.

Alternative Methoden

Eine alternative Methode zum Suchen in Listview VBA ist die Verwendung des InStr-Funktion, die die Position eines Teilstrings in einem String zurückgibt. Hier ist ein Beispiel:

Sub SuchenMitInStr()
    Dim y As Integer
    Dim i As Integer
    i = 0
    For y = 1 To ListView1.ListItems.Count
        If InStr(1, ListView1.ListItems(y - i).ListSubItems(3).Text, TextBox1.Text, vbTextCompare) > 0 Then
            ' Treffer gefunden - nichts tun
        Else
            ListView1.ListItems.Remove (ListView1.ListItems(y - i).Index)
            i = i + 1
        End If
    Next
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den obigen Code verwenden kannst:

  1. Suchfeld für Kundennamen: Wenn du in einem Listview von Kunden suchst, kannst du das Suchfeld verwenden, um nur die Namen anzuzeigen, die einen bestimmten Teilstring enthalten, wie "Hans".

  2. Produktlisten durchsuchen: Bei großen Produktlisten kann der Code helfen, nur die Produkte anzuzeigen, die in der Suchanfrage enthalten sind, z.B. "Döner".


Tipps für Profis

  • Nutze den Like-Operator für flexible Suchanfragen. Dies ermöglicht dir eine einfachere Suche nach Teilstrings.
  • Integriere Error-Handling in deinen Code, um unerwartete Fehler zu vermeiden.
  • Teste den Code regelmäßig, um sicherzustellen, dass alle Listview-Einträge korrekt gefiltert werden.

FAQ: Häufige Fragen

1. Wie kann ich die Suche auf mehrere Spalten im Listview ausweiten?
Du kannst die Suche einfach erweitern, indem du zusätzliche Bedingungen im If-Statement hinzufügst, um mehrere Spalten zu prüfen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in allen Versionen von Excel funktionieren, die VBA und Listviews unterstützen. Achte darauf, dass du die richtigen Referenzen gesetzt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige