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

Forumthread: Suchfunktion - Ausgabe mehrere Ergebnisse

Suchfunktion - Ausgabe mehrere Ergebnisse
26.10.2018 08:58:48
Björn
Hallo zusammen,
ich möchte für berufliche Zwecke eine Suchfunktion in Excel bauen. Dabei möchte ich nicht per SVERWEIS o.ä. zugehörige Werte herausfinden, sondern in lediglich einer Spalte mit 20.000+ Einträgen nach einem Teil eines bis zu 27-stelligen Codes suchen und alle Ergebnisse ausgeben, die diesen enthalten.
Den originalen Datensatz kann ich natürlich nicht teilen, deshalb habe ich eine Beispieldatei erstellt die das Prinzip verdeutlichen soll:
https://www.herber.de/bbs/user/124921.xls
Ich möchte also auf dem Blatt "Startseite" nach bspw. den ersten 6-7 Stellen suchen können und dann als Ausgabe alle Einträge erhalten, die diese enthalten.
Beispiel:
Sucheingabe: EFG15BNM
Ausgabe:
EFG15BNME02KCZ =K/L N Y1
EFG15BNME01KCZ =K/L N Y1
EFG15BNME02OPQ =A/B S Y1
EFG15BNME02OPX =A/B S Y1
Falls das ganze mit normalen Funktionen nicht möglich ist, könnte ich bei entsprechender Erklärung auch eine Makro/VBA-basierte Lösung bauen. Da die Suchfunktion Teil einer größeren Startseite ist, soll dies so flach wie möglich gehalten werden. Also lieber ein Texteingabefeld + Button + Listenelement auf dem Blatt selbst als ein eigenständiges UserForm. Zur Not geht das aber auch.
Ich freue mich über Ideen und Ansätze. Gerne würde ich mir das ganze erarbeiten und keine copy-paste Lösung nehmen, bei der die ganze Arbeit jemand anders gemacht hat.
Vielen Dank!
Mit freundlichen Grüßen,
Björn
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Autofilter - Teilinhalt (alles XL Standard!)
26.10.2018 09:21:30
EtoPHG
Hallo Björn,
Schon erstaunlich wie schwer man sich selber das Leben mit XL machen kann.
Das ist doch nichts anderes als ein Autofilter mit Filtern auf den Teilinhalt?
Gruess Hansueli
AW: Suchfunktion - Ausgabe mehrere Ergebnisse
26.10.2018 09:30:25
Björn
kleiner Zusatz:
Am liebsten wäre mir auf der Startseite eine TextBox als Input, daneben ein "SEARCH" Button und darunter dann eine ListBox in der scroll und kopierbar die Ergebnisse ausgegeben werden
Anzeige
offen: Standardfilter durch Eigen-Code ersetzen...
26.10.2018 11:43:56
EtoPHG
Hallo Björn,
Dann musst du auf jemand anders warten...
Gruess Hansueli
AW: Suchfunktion - Ausgabe mehrere Ergebnisse
26.10.2018 17:33:13
Piet
Hallo
hier ein kurzer Code für eine einfache Suchfunktion über einen Button.
mfg Piet
Sub String_suchen()
Dim Adr1 As String, rFind As Range
Dim SuchTxt As String, n, z As Long
With Worksheets("Startseite")
'alte Matches Liste löschen
z = .Cells(Rows.Count, 2).End(xlUp).Row
If z 

Anzeige
AW: Suchfunktion - Ausgabe mehrere Ergebnisse
29.10.2018 14:22:02
Björn
Vielen Dank!
Damit konnte ich mir meine Suchfunktion in die bestehende Mappe einfügen, nachdem ich den Code verstanden hatte. Reicht für meine Zwecke völlig aus und die Mitarbeiter können jetzt bequem suchen, ohne Zugriff auf den Datensatz zu erhalten.
Gruß Björn

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Suchfunktion in Excel: Ausgabe mehrerer Ergebnisse


Schritt-für-Schritt-Anleitung

Um eine effektive Suchfunktion in Excel zu erstellen, die mehrere Ergebnisse ausgibt, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Vorbereitung der Arbeitsmappe: Öffne Deine Excel-Datei und gehe zum Blatt "Startseite", wo Du die Suchfunktion einrichten möchtest.

  2. Entwicklertools aktivieren: Falls die Entwicklertools noch nicht sichtbar sind, aktiviere sie über Datei > Optionen > Menüband anpassen und setze ein Häkchen bei "Entwicklertools".

  3. TextBox und Button hinzufügen:

    • Füge eine TextBox hinzu, in die Du den Suchbegriff eingeben kannst.
    • Füge einen Button hinzu, der die Suche auslöst.
  4. VBA-Code einfügen:

    • Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen".
    • Füge den folgenden Code ein:
    Sub String_suchen()
       Dim SuchTxt As String
       Dim rFind As Range
       Dim z As Long
       Dim Matches As Collection
       Set Matches = New Collection
    
       SuchTxt = Worksheets("Startseite").TextBox1.Text
    
       With Worksheets("DeinDatensatz") ' Ersetze mit dem Blattnamen Deines Datensatzes
           z = .Cells(Rows.Count, 1).End(xlUp).Row
           For Each rFind In .Range("A1:A" & z) ' Suche in Spalte A
               If InStr(1, rFind.Value, SuchTxt, vbTextCompare) > 0 Then
                   Matches.Add rFind.Value
               End If
           Next rFind
       End With
    
       ' Ausgabe der Ergebnisse in eine ListBox
       For Each Match In Matches
           Worksheets("Startseite").ListBox1.AddItem Match
       Next Match
    End Sub
  5. Testen der Funktion: Gebe einen Teil des Codes in die TextBox ein und klicke auf den Button. Die Ergebnisse sollten in der ListBox angezeigt werden.


Häufige Fehler und Lösungen

  • Fehler: Keine Ergebnisse werden angezeigt
    Lösung: Überprüfe, ob der Suchtext korrekt eingegeben wurde. Stelle sicher, dass der Code den richtigen Bereich durchsucht.

  • Fehler: Laufzeitfehler bei der Ausführung des Codes
    Lösung: Vergewissere Dich, dass die TextBox und ListBox korrekt benannt sind und dass Du den richtigen Blattnamen in den Code eingefügt hast.


Alternative Methoden

Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch Excel-Funktionen wie den FILTER()-Befehl verwenden, wenn Du Excel 365 oder Excel 2021 hast. Hier ein einfaches Beispiel:

=FILTER(A1:A20000; ISNUMBER(SEARCH(TextBox1; A1:A20000)))

Diese Formel filtert die Ergebnisse direkt auf dem Blatt, basierend auf dem Inhalt der TextBox.


Praktische Beispiele

Angenommen, Du möchtest nach dem Code "EFG15" suchen:

  1. Gebe "EFG15" in die TextBox ein.
  2. Klicke auf den Button.
  3. Die ListBox zeigt alle Einträge, die "EFG15" enthalten, z.B.:
    • EFG15BNME02KCZ
    • EFG15BNME01KCZ

Tipps für Profis

  • Erweiterte Filterung: Du kannst die Funktion weiter anpassen, um nach mehreren Kriterien zu suchen oder um die Ergebnisse nach bestimmten Regeln zu sortieren.
  • UserForm verwenden: Für eine professionellere Benutzeroberfläche kannst Du ein UserForm erstellen, um eine ansprechendere Suchfunktion zu bieten.

FAQ: Häufige Fragen

1. Kann ich die Suchfunktion auch ohne VBA erstellen?
Ja, Du kannst die Excel-Funktionen wie FILTER() oder SVERWEIS() verwenden, um ähnliche Ergebnisse zu erzielen, allerdings ist die Flexibilität eingeschränkt.

2. Ist die Funktion auch für große Datenmengen geeignet?
Ja, die VBA-Lösung ist effizient und kann auch bei großen Datenmengen, wie über 20.000 Einträgen, verwendet werden, ohne die Leistung erheblich zu beeinträchtigen.

3. Muss ich etwas beachten, wenn ich die Funktion in anderen Excel-Versionen nutze?
Die VBA-Lösung ist in den meisten Excel-Versionen verfügbar, allerdings sind einige Funktionen nur in den neuesten Versionen verfügbar. Achte darauf, dass Du die richtige Syntax verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige