Hallo zusammen,
gibt es eine Möglichkeit in VBA zu erkennen ob ein Autofilter exisitiert oder nicht?
Mit
Range(„VonSpalte1:BisSpalte2“).Select
Selection.AutoFilter
erschaffe ich ein Autofilter und mit
Selection.AutoFilter
nehme ich diesen Fitler wieder raus.
Aber ich möchte vorher überprüfen ob ein Filter überhaupt exisitert, damit ich Ihn vor Ausführung meines Makros vorher deaktivieren und nachher wieder aktivieren kann…
Danke für jede Hilfe;
PeterPan
Hallo,
If Worksheets("Sheet1").FilterMode = True Then
MsgBox "Filter mode is on"
Else
MsgBox "Filter mode is off"
End If
Gruß, Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
moin
Sub bla()
Set w = Worksheets("Tabelle1")
If w.AutoFilterMode Then
filterisOn = w.AutoFilter.Filters(1).On
End If
End Sub
mit dem
If w.AutoFilterMode
prüfst Du, ob es einen Filter gibt.
wenn ja wird hier geprüft, ob gerade ein Filter gesetzt ist mit:
filterisOn = w.AutoFilter.Filters(1).On
das enthält dann WAHR/FALSCH je nachdem ob er eben aktiv ist oder nicht…
Gruß
Munich
*schmunzel*
ich war schneller - laut Zeit…
Aber in der Reihenfolge steh ich trotzdem oben… 
Lustig *g*
*schmunzel*
ich war schneller - laut Zeit…
Aber in der Reihenfolge steh ich trotzdem oben… 
Lustig *g*
Danke für die schnelle Abhilfe!
Ich werde es Gleich auprobieren!
MfG;
PeterPan
Hallo Munich,
filterisOn ist bei mir immer Falsch (egal ob Filter An oder Aus)?!?
Habe ich da was übersehen? Teste Dein Code mal in einer neuen Tabelle mit Filter (funktioniert leider auch nicht)…
Grüße;
PeterPan
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
If Worksheets(„Sheet1“).FilterMode = True Then
MsgBox „Filter mode is on“
Else
MsgBox „Filter mode is off“
End If
Gruß, Bernd
Hallo Bernd,
kurz noch eine Frage:
Jetzt weiß mein Programm ob ein Filter aktiviert ist oder nicht
.
Wie kann ich den Filter nun aufheben (also alles Anzeigen lassen)?.
Mit Selection.Autofilter wird der ganze Filter aufgehoben…
Grüße;
PeterPan
hi,
Selection.AutoFilter Field:=1
cu Micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
filterisOn = w.AutoFilter.Filters(1).On
bei mir ging es…
Allerdings ist das Filters(1) der knackpunkt…
Prüft jeweils in der 1. Spalte…
Gruß
Munich
Hallo Micha,
erstmal Danke für die Info.
Mit Selection.AutoFilter Field:=1 hebt es den Filter der ersten Spalte auf. Da ich aber 10 Spalten habe müßte ich wohl
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3, etc…
eingeben, da ich nicht weiß wo der Filter gesetzt ist oder es gibt eine Funktion die mir dies sagt…
MFG;
PeterPan
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
aLles klar, jetzt verstehe ich!
Danke
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
hi,
machs einfach so:
Public Sub AF_aufheben()
With Worksheets(1)
If .FilterMode Then .ShowAllData
End With
End Sub
cu Micha
So hab mirnun eine Schleife gebastelt:
Set w = Worksheets(„Tabelle1“)
While i [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]