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

Forumthread: Suchfunktion als Button einbinden

Suchfunktion als Button einbinden
24.03.2017 21:05:10
Dan
Guten Abend!
Ich habe eine Tabelle mit mehreren Blättern. Auf dem Startblatt möchte ich per Barcodescanner eine Zahl einlesen. Dann sollte diese über einen Button in der gesamten Tabelle gesucht werden und auf dem jeweiligen Blatt angezeigt werden. Problem ist, dass die Datei auf zig verschiedenen Rechnern verfügbar ist. Quasi die Suchfunktion abbilden. Per Makro funktioniert das ja so nicht.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Suchfunktion für Arbeitsmappe als Button einbinden
25.03.2017 07:12:16
fcs
Hallo Dan,
hier eine Beispieldatei
https://www.herber.de/bbs/user/112420.xlsm
Das allgeeine Modul und das Userform kannst du im VBA-Editor per Drag&Drop in deine Datei kopieren.
Im allemeinen Modul musst du den Namen des Startblatts und die Adresse der Zelle anpassen, in die eingescannt wird.
Du solltest eine Schaltfläche aus den Formularsteuerelementen in dein Startblatt einbauen und das gewünschte Makro zuweisen.
LG
Franz
Anzeige
AW: Suchfunktion für Arbeitsmappe als Button einbinden
25.03.2017 19:25:09
Dan
Guten Abend Franz,
vielen Dank für die Beispieldatei. Das hilft mir auf jeden Fall weiter. Kann man eigentlich per Makro aufzeichnen nicht einfach die integrierte Suchfunktion automatisch aufrufen?
AW: Suchen-Dialogfenster anzeigen via VBA-Makro
26.03.2017 06:25:50
fcs
Hallo Dan,
der Suchen-Dialog kann nur in einer verenfachten Form direkt per Makro angezeigt werden.
Per Tastenbefehlen kann der via Menüs aufrufbare Suchen-Dialog angezeigt werden.
Allerdings hat das Senden von Tastaturbefehlen via VBA-Makro so seine Tücken.
Der Ausgangszustand beim Start des Makros muss immer ähnlich sein.
Die Excel-Version und persönliche Einstellungen des Users für die Menüs erfordern ggf. unterschiedliche Tastenfolgen.
LG
Franz
Hier 2 Beispielmakros
Sub Show_Dialog_Menue_Suchen_Ersetzen()
'Suchen-Dialog mit Tastaturbefehlen anzeigen
'Tasturbefehle können unterschiedlich sein für verschiedene Excel-Versionen _
möglicherweise auch bei persönlichen Menü-Einstellunen eines Users.
Dim rngFind As Range
'   Suchendialog voreinstellen
Set rngFind = Cells.Find(What:=ActiveSheet.Range("B6").Value, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False)
'Suchen Dialog per Tastenbefehle anzeigen - unter Windows Vista Excel 2010
Application.SendKeys "%R"
Application.SendKeys "FD"
Application.SendKeys "N"
End Sub
Sub DialogSuchen()
'Suchen-Dialog unter VBA direkt mit Voreinstellungen anzeigen
'Es wird nur ein vereinfachter Dialog angezeigt _
Format-Suche, Option Blatt/Arbeitsmappe und Schaltfläche "Alle anzeigen" fehlen
Dim Text, in_num, at_num, by_num&, dir_num&, match_case As Boolean, match_byte As Byte
'Parameter des Suchen-Dialogs - alle Werte sind optional, wenn nicht angegeben werden _
die Werte der vorherien Suche bzw. die Standardwerte gesetzt
'Beim Aufruf des Dialogs müssen die Kommata für die nicht zu setzenden Werte eingefügt sein
Text = ActiveSheet.Range("B6").Value  'Zelle mit Suchwert
in_num = 2          ' 2 = in Werten 1 = in Formeln
at_num = 1          ' xlWhole = 1 xlPart = 2
by_num = 1          ' Suchreihenfolge xlByRows = 1  xlByColumns= 2
dir_num = 1         ' Suchrichtun xlNext = 1  xlPrevious = 2
match_case = 0      ' Groß-/Kleinschreibung beachten 0 = Nein - 1 = Ja
match_byte = 0      ' ?Formate?
'Beispiele für Aufruf des Suchen-Dialogs
'    Application.Dialogs(xlDialogFormulaFind).Show 'Anzeige mit vorherigen Einstellungen
Application.Dialogs(xlDialogFormulaFind).Show Text, in_num, at_num, by_num, dir_num, _
match_case, match_byte
'    Application.Dialogs(xlDialogFormulaFind).Show Text 'neuer Suchtext mit vorherigen  _
Einstellungen
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Suchfunktion als Button in Excel einbinden


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul hinzufügen: Klicke mit der rechten Maustaste auf deinen VBA-Projekt-Namen und wähle „Einfügen“ > „Modul“.

  3. Makro einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub Suchfunktion()
       Dim Suchwert As String
       Suchwert = ActiveSheet.Range("B6").Value ' Zelle mit dem Suchwert
       Cells.Find(What:=Suchwert, LookIn:=xlValues).Activate
    End Sub
  4. Button erstellen: Gehe zurück zu Excel und wähle „Entwicklertools“ > „Einfügen“ > „Schaltfläche (Formularsteuerelement)“.

  5. Makro zuweisen: Ziehe die Schaltfläche auf dein Arbeitsblatt und weise das gerade erstellte Makro zu.

  6. Suchfeld in Excel einfügen: Du kannst ein Textfeld nutzen, um den Suchwert einzugeben. Klicke dazu auf „Entwicklertools“ > „Einfügen“ > „Textfeld“.

Nun kannst du die Schaltfläche verwenden, um die Suchfunktion in Excel zu aktivieren.


Häufige Fehler und Lösungen

  • Fehler: „Keine Übereinstimmungen gefunden“

    • Lösung: Stelle sicher, dass der Suchwert genau mit dem in der Tabelle übereinstimmt. Achte auf Groß- und Kleinschreibung.
  • Fehler: Button funktioniert nicht

    • Lösung: Überprüfe, ob das Makro richtig zugewiesen wurde. Klicke mit der rechten Maustaste auf den Button und wähle „Makro zuweisen“.
  • Problem: Suchfunktion in Excel einbauen klappt nicht

    • Lösung: Vergewissere dich, dass der VBA-Code korrekt eingefügt wurde und dass „Makros aktivieren“ in den Excel-Optionen aktiviert ist.

Alternative Methoden

  1. Suchen-Dialogfenster über Tastenkombination aufrufen: Du kannst auch den Suchen-Dialog mit CTRL + F öffnen, um manuell nach Werten zu suchen.

  2. Formelbasierte Suche: Verwende die SVERWEIS- oder WVERWEIS-Funktion, um Daten aus verschiedenen Blättern zu durchsuchen und anzeigen zu lassen.

  3. VBA-Funktion: Du kannst auch komplexere VBA-Skripte verwenden, um die Excel VBA Suchfunktion weiter anzupassen.


Praktische Beispiele

  • Beispiel für ein einfaches Makro:

    Sub ZeigeErgebnisse()
       Dim rng As Range
       Set rng = Cells.Find(What:=InputBox("Suchbegriff:"))
       If Not rng Is Nothing Then
           rng.Select
       Else
           MsgBox "Kein Ergebnis gefunden."
       End If
    End Sub
  • Suchfeld in Excel einfügen: Erstelle ein Suchfeld, indem du ein Textfeld auf dein Arbeitsblatt ziehst und es mit dem oben genannten Makro verbindest.


Tipps für Profis

  • Suchfeld in Excel dynamisch gestalten: Verwende die Datenüberprüfung, um nur bestimmte Werte im Suchfeld zuzulassen.

  • Suchergebnisse filtern: Nutze die AutoFilter-Funktion, um die angezeigten Ergebnisse nach Kriterien zu filtern.

  • Excel Such Button erstellen: Kombiniere den Button mit einem UserForm, um ein benutzerfreundlicheres Interface zu schaffen.


FAQ: Häufige Fragen

1. Wie kann ich die Suchfunktion anpassen, um nur bestimmte Blätter zu durchsuchen? Du kannst die Cells-Funktion in deinem Makro anpassen, um nur in einem bestimmten Blatt zu suchen, indem du Worksheets("Blattname").Cells.Find verwendest.

2. Kann ich die Excel Suchfunktion auch für mehrere Suchbegriffe gleichzeitig verwenden? Ja, du kannst eine Schleife im VBA-Code verwenden, um mehrere Suchbegriffe nacheinander zu suchen.

3. Wie kann ich die Suchfunktion so einrichten, dass sie nur Ergebnisse anzeigt? Verwende die AutoFilter-Funktion oder passe das Makro so an, dass es nur Zellen mit Suchergebnissen aktiviert oder auswählt.

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