ich habe Dank dem Archiv hier folgendes Makro gefunden, welches auch wunderbar funktioniert:
option explicit
Public Function AF_KRIT(Bereich As Range) As Boolean
Dim b_Filter As Boolean
b_Filter = False
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
b_Filter = .On
End With
End With
Ende:
AF_KRIT = b_Filter
End Function
An dieser Stelle DANKE hierfür!
Im Spaltenkopf der Bereich mit dem Filter setze ich ne bedingte Formatierung mit =AF_KRIT(B2), die die Zelle B2 nach meinem Geschmack hervorhebt, sofern ein Filter in der Spalte aktiv ist.
Das funktioniert alles.
Wenn ich aber außerhalb der gefilterten Tabelle die Formel =SF_KRIT(Zellbezug) setze, [Zellbezug ist ein Spaltenkopf in der geflterten Tabelle]
dann rechnet Excel korrekt und wirft WAHR oder FALSCH aus, je nach dem ob der Filter in der betreffenden Spalte angewendet wurde oder nicht.
Wenn ich aber dann den Filter ändere, rechnet sich die Formel nicht neu.
Neuberechnen hilft nicht.
Klicke ich die Formel an und/oder gebe sie neu ein, wird wieder der richtige Wert ausgegeben.
Wie muss ich den Code abändern oder was kann ich tun, damit SF_KRIT() immer aktuelle Werte berechnet?
Danke Euch schon mal im Voraus
Joachim
Die Beispieldatei findet Ihr HIER: https://www.herber.de/bbs/user/163680.xlsm