Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suche in Listview

Forumthread: Suche in Listview

Suche in Listview
22.04.2014 17:28:40
basti_fantasti
Guten Tag,
zuerst mal ein Hallooo an die Forumsgemeinde. Habe mich heute neu angemeldet und freue mich auf Erfahrungsaustausch hier im Forum. Heute wende ich mich mit einer Frage an die Forumsgemeinde, hoffe aber auch dass ich künftig auch behilflich sein.
Ich habe folgendes Problem:
Ich habe ein Listview1 und eine Textbox1. Das Listview ist auf einer Userform, die Textbox auch. Die Daten im Listview kommen aus der Exceltabelle. Die Listbox ist mit den Daten aus der Tabelle gefüllt. Jetzt möchte ich gerne über das Change ereignis oder Key down ereignis der textbox die tabelle durchsucht wird (Spalte Y soll nach Begriff aus Textbox durchsucht werden) und nur die suchergebnisse sollen im listview angezeigt werden.
Hier als Beispiel:
Spalte A - Spalte B - Spalte C - Spalte y
name1 - Vorname 1 - Straße1 - 100
Name 2 - Vorname 2 - Straße2 - 100
Name 3 - Vorname 3 - Straße3 - 250
Wenn ich jetzt den suchbegriff "100" in textbox1 eingebe, dann soll Listview nur die Zeilen anzeigen, in denen in der Spalte Y auch 100 steht. Vielleicht denke ich mit dem suchen auch Falsch. Filtern ginge ja auch. Nur leider bekomme ich das nicht hin. Ich hoffe ihr könnt mir helfen.
Viele Grüße BASTI FANTASTI

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche in Listview
22.04.2014 18:17:23
basti_fantasti
Hallo Tino,
ein Forum lebt auch vom Feedback. Hier mein Feedback:
es kann so einfach sein. Genau das habe ich gesucht. Ich danke dir.
Grüße Basti Fantasti

Anzeige
Und wieder mal umgebaut, grins
22.04.2014 19:56:01
Matze
Hi Ihr Beiden,
hab Tinos Datei genutzt um diese auf den Autofilter umgeschrieben.
In deiner Aufgabe hattest du unten was von Filtern geschrieben, vielleicht gefällt dir dieser Ansatz.
Über eine Inputbox wird der Suchwert eingegeben: https://www.herber.de/bbs/user/90306.xlsm
Der Code dafür steht im Modul2 und ist von der Hilfedatei zur Inputbox umgestaltet
Gruß Matze

Anzeige
AW: Und wieder mal umgebaut, grins
23.04.2014 02:55:42
basti_fantasti
Hallo Matze,
sorry für die späte Antwort. Auch das habe ich gesucht. Du und Tino habt den Nagel auf den Kopf getroffen. Vielen Dank.
Grüße Basti_Fantasti
;
Anzeige

Infobox / Tutorial

Suche in Listview mit Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Suche in einem Listview in Excel VBA zu implementieren, folge diesen Schritten:

  1. UserForm erstellen: Erstelle eine UserForm in Excel und füge ein Listview (ListView1) und eine Textbox (Textbox1) hinzu.

  2. Datenquelle einrichten: Stelle sicher, dass die Daten, die du durchsuchen möchtest, in einer Excel-Tabelle vorhanden sind. In diesem Beispiel verwenden wir die Spalte Y.

  3. VBA Code hinzufügen: Klicke mit der rechten Maustaste auf die UserForm und wähle "Code anzeigen". Füge den folgenden Code hinzu:

    Private Sub TextBox1_Change()
        Dim i As Integer
        Dim searchValue As String
        Dim found As Boolean
    
        searchValue = TextBox1.Text
        ListView1.ListItems.Clear
    
        For i = 1 To Range("Y1:Y" & Cells(Rows.Count, "Y").End(xlUp).Row).Count
            If Cells(i, "Y").Value Like "*" & searchValue & "*" Then
                ListView1.ListItems.Add , , Cells(i, 1).Value & " - " & Cells(i, 2).Value & " - " & Cells(i, 3).Value & " - " & Cells(i, "Y").Value
                found = True
            End If
        Next i
    
        If Not found Then
            MsgBox "Keine Ergebnisse gefunden."
        End If
    End Sub
  4. UserForm testen: Starte die UserForm und gib einen Suchbegriff in die TextBox ein. Das Listview sollte nun nur die entsprechenden Einträge anzeigen.


Häufige Fehler und Lösungen

  • Listview zeigt keine Daten an: Überprüfe, ob die UserForm und das Listview korrekt eingerichtet sind. Stelle sicher, dass die Textbox und der Listview die richtigen Namen haben.

  • Suchergebnisse werden nicht angezeigt: Stelle sicher, dass die Daten in Spalte Y vorhanden sind und die Suchbedingungen korrekt definiert sind.


Alternative Methoden

Statt einer Textbox kannst du auch eine InputBox verwenden, um den Suchwert abzufragen. Hier ein Beispiel:

Sub SucheMitInputBox()
    Dim searchValue As String
    Dim i As Integer

    searchValue = InputBox("Gib den Suchbegriff ein:")
    ' Weiterer Code zur Suche in Listview...
End Sub

Diese Methode kann nützlich sein, wenn du eine einfachere Benutzeroberfläche wünschst.


Praktische Beispiele

Hier sind zwei praktische Beispiele zur Verwendung des Listview in Excel VBA:

  1. Beispiel mit Autofilter: Nutze den Autofilter, um die Daten in der Tabelle zu filtern. Setze den Code in ein Modul:

    Sub FilterDaten()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Tabelle1")
    
        ws.Range("A1:Y100").AutoFilter Field:=25, Criteria1:=TextBox1.Text
    End Sub
  2. Beispiel mit Listview und Sortierung: Du kannst auch eine Sortierung im Listview implementieren, um die Daten benutzerfreundlicher darzustellen.


Tipps für Profis

  • Datenvalidierung: Implementiere eine Datenvalidierung in der Textbox, um sicherzustellen, dass nur gültige Suchbegriffe eingegeben werden.

  • Erweiterte Suche: Baue eine erweiterte Suchfunktion ein, die mehrere Spalten durchsucht oder komplexe Suchkriterien unterstützt.

  • Performance optimieren: Bei großen Datenmengen kann es hilfreich sein, die Suche asynchron auszuführen, um die Benutzeroberfläche reaktionsfähig zu halten.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Spalten im Listview anpassen?
Du kannst die Spaltenbreite und -überschriften im Designer der UserForm anpassen.

2. Frage
Ist das Listview in allen Excel-Versionen verfügbar?
Das Listview ist in Excel VBA verfügbar, aber es kann Unterschiede in der Benutzeroberfläche und den Funktionen zwischen den Versionen geben. In diesem Beispiel wurde Excel 2010 verwendet.

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