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

Forumthread: Suchfeld VBA Excel

Suchfeld VBA Excel
11.09.2014 10:46:12
Daniel
Hallo Leute,
Ich hoffe hier ihr könnt mir helfen, bin neu auf dem VBA Gebiet in Excel und stehe vor der Aufgabe ein "einfaches" Suchfeld (evtl. Texteingabefeld als ActiveX Steuerelement) in Excel 2007 mit einem Makro zu verknüpfen. Ich möchte per Texteingabe in das Suchfeld meine Exceltabelle(bis zu 20 spalten und 200 Zeilen) durchsuchen lassen und mir die Übereinstimmungen des Suchwortes(die entsprechende zugehörige Zeile) anzeigen lassen. Also ähnlich wie es der Autofilter bei Excel macht, nur dass es halt ein Suchfeld sein soll mit Makro. Ich würde mich freuen, wenn ihr mir da weiterhelfen könnt:)
Viele Grüße, Daniel

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchfeld VBA Excel
11.09.2014 11:30:00
Robert
Hallo Daniel,
soll das Ganze nur bei genauen Übereinstimmungen anschlagen oder auch bei teilweise übereinstimmungen (wie die suchfunktion bei Excel?)
viele Grüße
Robert

AW: Suchfeld VBA Excel
11.09.2014 17:59:27
daniel
Hallo Robert, danke für deine Antwort. Also bei der genauen Übereinstimmung würde schon reichen. ich nehme an, das ist einfacher vom Code.
Viele Grüße,
Daniel

Anzeige
AW: Suchfeld VBA Excel
14.09.2014 07:53:04
Crazy
Hallo
das könnte so gehen
Sub suchen()
Dim Suchergebnis As Range
Dim Suchwert
Suchwert = InputBox("gesuchen Wert eingeben")
If Suchwert = "" Then Exit Sub
With Range("A1:T200")
Set Suchergebnis = .Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
If Not Suchergebnis Is Nothing Then
MsgBox Suchergebnis.Row
Else
MsgBox "nix gefunden"
End If
End With
End Sub
MfG Tom

Anzeige
AW: Suchfeld VBA Excel
16.09.2014 14:46:51
Robert
Hallo Daniel,
Bitte entschuldige die späte Antwort.
Folgender Code macht genau was du willst.
Am besten in ein Makromodul packen und einen Button auf dem entsprechenden Tabellenblatt das Makro aufrufen lassen.
Sub Finden()
Dim x As Long
Dim SuchErgebnis As Range
Dim SuchWert As Variant
Dim FirstAddress
SuchWert = InputBox("Bitte Suchwert eingeben:")
With ActiveSheet
.UsedRange.EntireRow.Hidden = False
Set SuchErgebnis = .UsedRange.Find(SuchWert, LookIn:=xlValues, Lookat:=xlWhole)
If Not SuchErgebnis Is Nothing Then
FirstAddress = SuchErgebnis.Address
Do
SuchErgebnis.EntireRow.Hidden = True
Set SuchErgebnis = UsedRange.FindNext(SuchErgebnis)
Loop While Not SuchErgebnis Is Nothing
End If
For x = UsedRange.Row To UsedRange.SpecialCells(xlCellTypeLastCell).Row
.Rows(x).EntireRow.Hidden = Not .Rows(x).EntireRow.Hidden
Next x
End With
End Sub
viele Grüße
Robert
Anzeige
;
Anzeige

Infobox / Tutorial

Suchfeld in Excel mit VBA einfügen und nutzen


Schritt-für-Schritt-Anleitung

Um ein Suchfeld in Excel zu erstellen und mit einem Makro zu verknüpfen, folge diesen Schritten:

  1. ActiveX-Steuerelement einfügen:

    • Öffne Excel und wechsle zur Registerkarte "Entwicklertools".
    • Klicke auf "Einfügen" und wähle das "Textfeld" unter ActiveX-Steuerelemente aus.
    • Platziere das Textfeld auf deinem Arbeitsblatt.
  2. Makro erstellen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Wähle "Einfügen" > "Modul", um ein neues Modul zu erstellen.
    • Füge den folgenden Code ein:
    Sub suchen()
       Dim Suchergebnis As Range
       Dim Suchwert As String
       Suchwert = ActiveSheet.TextBox1.Text ' Hier wird der Text aus dem ActiveX Textfeld gelesen
       If Suchwert = "" Then Exit Sub
       With Range("A1:T200") ' Bereich der Suche anpassen
           Set Suchergebnis = .Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
           If Not Suchergebnis Is Nothing Then
               MsgBox "Gefunden in Zeile: " & Suchergebnis.Row
           Else
               MsgBox "Nichts gefunden"
           End If
       End With
    End Sub
  3. Makro zuweisen:

    • Gehe zurück zu deinem Excel-Arbeitsblatt.
    • Klicke mit der rechten Maustaste auf das Textfeld und wähle "Eigenschaften".
    • Setze die LinkedCell-Eigenschaft auf eine Zelle, in der der Suchwert angezeigt werden soll.
    • Füge einen Button hinzu und weise das Makro suchen zu, um die Suche auszuführen.

Häufige Fehler und Lösungen

  • Fehler 1: "Nichts gefunden" wird immer angezeigt.

    • Lösung: Stelle sicher, dass der Suchwert genau mit dem Inhalt in der Tabelle übereinstimmt. Achte auf Groß- und Kleinschreibung.
  • Fehler 2: Das Makro läuft nicht.

    • Lösung: Überprüfe, ob die Makros aktiviert sind. Du kannst dies in den Excel-Optionen unter "Trust Center" überprüfen.

Alternative Methoden

Wenn du ein interaktives Suchfeld in Excel erstellen möchtest, kannst du auch die Datenüberprüfung nutzen:

  1. Wähle die Zelle aus, in der das Suchfeld sein soll.
  2. Gehe zu "Daten" > "Datenüberprüfung".
  3. Wähle "Liste" und gebe die Suchbegriffe ein.
  4. Dies ermöglicht es dir, eine Dropdown-Liste zu erstellen, aus der du auswählen kannst.

Praktische Beispiele

Ein einfaches Beispiel für ein Suchfeld in Excel:

  • Du hast eine Tabelle mit 200 Zeilen und 20 Spalten, in der du nach bestimmten Werten suchen möchtest.
  • Verwende das oben gegebene Makro und passe den Suchbereich in Range("A1:T200") an deine Daten an.

Tipps für Profis

  • Suchfeld optimieren: Du kannst das Suchfeld so erweitern, dass es auch Teilergebnisse anzeigt. Ändere die Lookat-Eigenschaft im .Find-Befehl auf xlPart.

  • Benutzerfreundlichkeit: Denke daran, Fehlermeldungen benutzerfreundlich zu gestalten. Anstelle von "Nichts gefunden" könntest du "Dein Suchbegriff wurde nicht gefunden" verwenden.


FAQ: Häufige Fragen

1. Wie kann ich ein Excel Suchfeld mit Ausgabe erstellen?
Du kannst das obige VBA-Makro verwenden, um die Zeilennummer der gefundenen Übereinstimmung anzuzeigen.

2. Kann ich das Suchfeld in Excel 2010 oder höher verwenden?
Ja, das Makro und die ActiveX-Steuerelemente sind in Excel 2010 und höheren Versionen verfügbar. Achte darauf, dass die Entwicklertools aktiviert sind.

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