Hallo zusammen,
hab jetzt, nach dem ich gestern mit Application.Volatile experementiert habe, eine Lösung die zwar mit einer "flüchtigen" Funktion arbeitet, aber schonender ist als mit Application.Volatile.
In Hilfszellen schreibe ich die Zelladressen der zu überwachenden Filterzellen. In die Funktion wird dann Indirekt eingearbeitet. Unten das Beispiel zeigt es genau:
komisch, wieder kann ich kein Tabellenausschnitt einfügen. Wieder erscheinen zwei Raute ähnliche Zeichen. (in Firefox) Im IE erscheinen zwei auf der Kante stehende Qudrate mit einem Fragezeichen innen.Dann beschreibe ich es mal.
Ich habe in den Zellen A4: D4 folgende Zelladressen stehen:
Und die Formel in A1 sieht so aus:
=AF_IST_AN(INDIREKT(A4))Ohne Hilfzellen ginge diese Formel:
=AF_IST_AN(INDIREKT(ADRESSE(6;SPALTE())))Im Code zum Aufruf oder Aufheben des Filters immer als letzter Befehl:
ActiveSheet.Calculate
So z.B:
Code:
Sub Makro1()
Selection.AutoFilter Field:=3, Criteria1:="2"
ActiveSheet.Calculate
End Sub
Ich habe mal folgendes getestet:
In eine Zelle die Formel =Jetzt() eingetragen. Nach jedem Aufruf der Makros sehe ich, es wird neu berechnet.
Ich habe dann einen Haltepunkt ganz am Anfang der Funktion gesetzt, und konnte nun beobachten, dass sich der Wert der Zelle mit Jetzt() erst nach Durchlauf der Funktion ändert.
Wird manuell gefiltert, dann ändert sich der Wert der Formel Jetzt() und dann erst wird der Haltepunkt im Code angesprungen.
Das mal zur allgemeinen Info.