![]() |
Excel Suchfunktion
Hi,
bin auf der Suche nach einer Lösung für eine Suchfunktion für die jeweilige Spalte in einer bestimmten Zelle angezeigt wird. D.h. ich habe eine Spalte z.B. A1 mit "Vorname Nachname", in A2 will ich das Suchfeld: Darunter stehen alle namen. Gut, jetzt kommen sicher die ansagen mit filter usw. das will ich alles nicht, auch nicht Strg+F... sonstiges. - so ist es im Moment Ich will in dieses Feld A2 Markus eingeben.. (am schönsten wäre es wenn es unten gleich mitsucht, also je mehr man eingibt, umso weniger Treffer werdens) und es kommen alle Ergebnisse mit markus - ob das jetzt der Vor od. der Nachname ist sollte egal sein. Ich hoff das klappt irgendwie ;) |
Ich würd das mit einer Makroprogrammierung lösen. Vom Grundansatz her: Lass die Datenbank (jener Bereich also, wo alle Deine Daten eingetragen sind) bis EOF (End of File) durchsuchen und mit dem Begriff aus A2 vergleichen (Funktionsname InStr(...)) - und das Ganze läßt Du Dir ab einer gewissen Zelle in einer anderen Tabelle wieder ausgeben. Google mal ein wenig, falls ich Zeit habe, versuch ich Dir, morgen ein Makrobeispiel zu kreiieren.
|
Das wär ja pipfein, ich hab schon ein bissi gegooglt, aber nicht wirklich was gefunden.
Das Problem is ja, dass ich dann die ganze Zeile angezeigt brauche. Also es soll ja eigentlich funktionieren wie der Filter - kann man nicht die Funktion "Enthält" infach herauslegen? |
So wie Du es aber beschreibst, wär das ein Fall für den "Spezialfilter" (Excel-Daten-Filter-Spezialfilter). Da würdest Du Dir die Makroprogrammierung ersparen und der Vorteil ist dabei auch, dass (in ein neues Tabellenblatt oder in einen anderen Bereich vorausgesetzt) Du auch immer den ganzen Originalbestand sehen würdest. Ich weiß schon, dass Du vom Filter, den Du nicht möchtest geschrieben hast, aber bitte um Info, was Dich am Filter stört.
|
Ich hab keine Ahnung wie dieser Spezialfilter funktioniert leider.
|
So wie es scheint ist es gar nicht soo schwer mit einem Makro zu realisieren.
Schaut ungefähr so aus: --> mache filter --> enthält --> nimm was in Feld B2 steht. Mein Problem jedoch ist, das ich gerne direkt mit Enter das Makro anstarten möchte, was auch möglich ist, aber ich schaff es trotzdem nicht. Wenn ich enter drücke und dann die gewählte Tastenkombi dann funktionirts, Ist natürlich viel viel erweiterbar, aber das wär schon mal ein guter Anfang wenn mir hier nochmal wer helfen könnte. |
ich denke der sverweis ist die mächtigste suchformel in excel, aber ob du das damit so realisieren kannst wie du möchtest kA.
|
Juhu ich habs geschafft, einmal mit einem SVerweis, in de einen Liste,
und einmal mit einem Filter Makro: Schaut ungefähr so aus. Sub Namenssuche() Dim Suchbegriff As String Suchbegriff = InputBox("Namenssuche:", "AutoFilter") If Suchbegriff = "" Then Selection.AutoFilter Field:=2 Else Selection.AutoFilter Field:=2, Criteria1:="=*" & Suchbegriff & "*" End If End Sub Sub Handysuche() Dim Suchbegriff As String Suchbegriff = InputBox("Handysuche:", "AutoFilter") If Suchbegriff = "" Then Selection.AutoFilter Field:=1 Else Selection.AutoFilter Field:=1, Criteria1:="=*" & Suchbegriff & "*" End If End Sub Sub Mailsuche() Dim Suchbegriff As String Suchbegriff = InputBox("Mailsuche:", "AutoFilter") If Suchbegriff = "" Then Selection.AutoFilter Field:=3 Else Selection.AutoFilter Field:=3, Criteria1:="=*" & Suchbegriff & "*" End If End Sub Das alles mit einem Button verlinkt und fertisch. Noch einen Resetfilterbutton. ActiveSheet.Range("$A$5:$F$901").AutoFilter Field:=1 ActiveSheet.Range("$A$5:$F$901").AutoFilter Field:=2 ActiveSheet.Range("$A$5:$F$901").AutoFilter Field:=3 Und die Sache hat sich. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag