Ich hab ne kleine Frage und hoffe, dass mir jemand helfen kann.
Ich hab ein Makro, das die markierte Zeile eines Tabellenblatts auf Knopfdruck in ein anderes Tabellenblatt verschiebt. Da es sich bei beiden Tabellenblättern um umfangreiche Liste handelt, ist jeweils der AutoFilter aktiviert.
Das Makro funktioniert gut, solange das Zieltabellenblatt nicht gefiltert ist. Um den Laufzeitfehler wegzukriegen hab ich mir nun gedacht, dass ich einfach abfragen könnte, ob ein Filter gesetzt ist und falls ja, kommt eine Message Box. Das sieht bei mir jetzt so aus:
If Sheets("Zieltabelle").AutoFilterMode Then
MsgBox "Bitte zuerst AutoFilter deaktivieren."
Exit Sub
End If
Das Problem ist nun, dass diese Message Box auch dann kommt, wenn die Zieltabelle nicht gefiltert ist, d.h. alle Spalten im AutoFilter auf "alle" gesetzt sind. Das Makro läuft nur dann richtig durch, wenn ich den AutoFilter in der Zieltabelle ganz ausschalte (Menü Daten - Filter - Autofilter). AutoFilterMode scheint also nicht die richtige Lösung zu sein. Wie kann ich im Makro abfragen, ob meine Zieltabelle auch wirklich gefiltert ist?
Noch viel besser wäre es natürlich, wenn ich ein Makro hinkriegen würde, das nicht nur feststellt, ob die Zieltabelle gefiltert ist, sondern das sich auch gleich merkt, welches die Filterkriterien sind, dann den Autofilter deaktiviert, die Zeile in die Zieltabelle verschiebt und den Filter mit den gespeicherten Kriterien wieder anwendet. Aber von solchen VBA-Schikanen hab ich keine Ahnung.
Ich wär also echt schon sehr dankbar für eine Antwort auf mein "einfaches" Problem. Vielen Dank! :-)
Michelle