Supportnet / Forum / Tabellenkalkulation
Suchfunktion in Tabelle einfügen?
Frage
Hallo!
Ist es möglich in einem Tabellenblatt direkt eine Suchfunktion einzufügen? Ich möchte mir nämlich sparen ständig über "Bearbeiten - Suchen" zur Suchfunktion zu kommen. Vielleicht gibt es da ja eine Möglichkeit.
Gruß Stefan
Antwort 1 von coros
Hi Stefan,
kopiere nachfolgendes Makro in ein StandardModul und weise es einer Befehlsschaltfläche zu.
Bei dem Code wird das Blatt auf Übereinstimmungen überprüft. Es wird dann ein Fenster geöffnet mit Angabe wieviele Übereinstimmungen gefunden wurden und es wird die erste Übereinstimmung markiert. Mindesteingabe im Eingabefeld sind 3 Buchstaben.
Wenn Du nicht weißt, wie Du das Makro in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Tabelle" nach. Dort habe ich eine bebildetre Anleitung dazu, die Dir helfen sollte.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kopiere nachfolgendes Makro in ein StandardModul und weise es einer Befehlsschaltfläche zu.
Sub Suchen_Click()
Dim strSuche As String, erg As Range, firstAddress As String, gefunden() As String
Dim index1 As Integer, index2 As Integer, text As String, schalter As Integer
schalter = 4
text = "Die nächste Übereinstimmung anzeigen?"
Do
strSuche = InputBox("Mindestens die 3 ersten Buchstaben des Suchbegriffes oder kompletten Suchbegriff eingeben. Groß-/Kleinschreibung ist egal.", "Suchen")
If strSuche = "" Or Len(strSuche) = 0 Then Exit Sub
Loop Until Len(strSuche) > 2
Set erg = Range("A4:IV65536").Find(what:=strSuche, lookat:=xlPart, LookIn:=xlValues, MatchCase:=False)
If erg Is Nothing Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden! Es ist aber nicht 100% sicher, dass der gesuchte Begriff sich nicht in der Tabelle befindet. Überprüfen Sie daher bitte nochmal die Schreibweise und geben den Suchbegriff erneut ein, oder suchen Sie den Begriff manuell in der Tabelle."
Else
firstAddress = erg.Address
Do
index1 = index1 + 1
ReDim Preserve gefunden(1 To index1)
gefunden(index1) = erg.Address
Set erg = Range("A4:IV65536").FindNext(erg)
Loop While Not erg Is Nothing And erg.Address <> firstAddress
Do
index2 = index2 + 1
If index2 = index1 Then
text = ""
schalter = 0
End If
Range(gefunden(index2)).Select
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.ScrollColumn = Selection.Column
If MsgBox(CStr(index2) & ". von " & CStr(index1) & " gefundenen Übereinstimmungen des Suchbegriffes." & vbNewLine & text, schalter, "Anzeige") = 7 Then Exit Do
If index2 = index1 Then Exit Do
Loop
End If
End SubBei dem Code wird das Blatt auf Übereinstimmungen überprüft. Es wird dann ein Fenster geöffnet mit Angabe wieviele Übereinstimmungen gefunden wurden und es wird die erste Übereinstimmung markiert. Mindesteingabe im Eingabefeld sind 3 Buchstaben.
Wenn Du nicht weißt, wie Du das Makro in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Tabelle" nach. Dort habe ich eine bebildetre Anleitung dazu, die Dir helfen sollte.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Stefan E.
Hallo Coros!
Spitzenmäßig, hat geklappt.
Vielen Dank.
MfG
Stefan
Spitzenmäßig, hat geklappt.
Vielen Dank.
MfG
Stefan
Antwort 3 von coros
Hi Stefan,
freut mich, dass Du mit dem Makro etwas anfangen konntest. Danke Dir auch für Deine Rückmeldung. Wird hier ja leider immer seltener.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
freut mich, dass Du mit dem Makro etwas anfangen konntest. Danke Dir auch für Deine Rückmeldung. Wird hier ja leider immer seltener.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

