Frage von zuckergesicht, 49

Excel 2013: Wie erstellt man ein Makro für auswahlbasierten Filter (nach dem Wert der ausgewählten Zelle filtern)?

Hallo,

ich habe eine Datenbank mit Namen und Adressen und muss sehr sehr oft nach dem Nachnamen filtern. Da mir der Weg über rechte Maustaste >Filter >nach dem Wert der ausgewählten Zelle filtern zu lang war, wollte ich ein Makro machen. Ich habe eine Zelle ausgewählt (in diesem Fall den Nachnamen "Meier") und das Makro erstellt. Soweit so gut.

Aber wenn ich jetzt das Makro ausführe, filtert es nicht nach der ausgewählten Zelle sondern immer nach "Meier".

Ich habe auch schon Tante Goo... gefragt, bin aber nicht fündig geworden.

Leider kenne ich mich mit Excel nicht so gut aus, mit VB etc. weiß ich nicht viel anzufangen.

Über eine hilfreiche Antwort würde ich mich sehr freuen.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Iamiam, Community-Experte für Excel, 39

füge in der Aufzeichnung gleich unter Sub... eine Zeile ein und schreibe da: Dim Zielname: Zielname = ActiveCell.value

Dadurch wird der Eintrag in der ausgewählten Zelle erst mal festgeschrieben.

Nun gehst Du Dein Makro durch und ersetzt immer, wenn "Meier" auftaucht, das durch Zielname (ohne Gänsefüßchen aussenrum).

Prüfe das Makro ausserdem, ob es nicht die Adresse der ausgewählten Zelle enthält: Wenn ja, dann brauchst Du eine weitere Zeile:

Dim Zieladresse: Zieladresse = Activecell.Address

und ebenso ersetzen, dann sollte es funktionieren. (Normalerweise fasst man da allerdings die Deklaration der Variablen zusammen und ihre Füllung ebenfalls:

Dim Zieladresse, Zielname

Zieladresse = ActiveCell.Address : Zielname = ActiveCell.value

Wenns nicht geht, frag nochmal, werde aber erst am Freitag wieder antworten können. (übrigens:  Address ! und der Doppelpunkt ist erlaubt anstatt einer neuen Zeile)

Antwort
von zuckergesicht, 25

Oh, vielen herzlichen Dank, es hat super geklappt. Da ich den Filter so oft brauche, ist mir das ganz arg hilfreich. DANKE!

Kommentar von Iamiam ,

prima. Und danke für den * !

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten