ich habe heute wieder ein mal ein kleines VBA-Problem.
Ich habe hier eine Kundendatei (mit Schreibschutz) und steuere diese über einen Autofilter. Dieser Autofilter wird über Eingabezellen gesteuert. Der Code sieht also z. B. so aus:
If Target.Address = "$B$4" Then
ActiveSheet.Unprotect Password:=""
If Not IsEmpty(Target) Then
Selection.AutoFilter Field:=1, Criteria1:=Range("B4").Text
Else
Selection.AutoFilter Field:=1
End If
ActiveSheet.Protect Password:="", AllowFiltering:=True
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 1
Jetzt möchte ich gerne die Filterung zurücksetzten. Bis jetzt spreche ich den Autofilter mit ".ShowAllDat" an. Da ich aber einen Blattschutz eingerichtet habe,
muss ich diesen vorher deaktivieren und nachehr wieder aktivieren. Das führt zu einer fühlbaren Verzögerung.
Ich hatte mir dann überlegt, dass es ja ausreichen müsste, wenn ich meine Eingabezellen leeren würde. Das habe ich dann auch mit ".clearcontents" versucht.
Die Zellen sind dann zwar leer, aber der Autofilter ändert sich aber nicht.
Es funktioniert nur, wenn ich manuell die Zelle mit der Maus anklicke und den Inhalt lösche.
Was kann ich dagegen tun bzw. wie kann ich den Autofilter dazu überreden, auf eine leere Zelle zu reagieren, welche nur durch VBA-Code erzeugt wurde?
Gruß
Christian