Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filter entfernen

Filter entfernen
24.11.2022 20:25:57
Christian
Hallo,
bitte helft mir,
ich suche eine Möglichkeit, in der kompletten Mappe mit einem Schlag also am Liebsten mit VBA sowohl alle gesetzten Filter, sowie alle kleine Haken neben den Spaltenüberschriften, die kommen, wenn ich im Excel Menü auf Filter klicke zu entfernen. Auch deshalb mit VBA, weil ich es dann in ein bestehendes Makro einbauen kann, sodass das Makro alles in einem Wisch erledigt.
In der Mappe kommt sehr vieles vor angefangen von PQ Abfragen, intelligenten Tabellen, Blättern die ausschließlich durch Makros erstellt wurden, Blätter die ausschließlich ich von Hand gefüllt habe, überall können Filter sein, müssen aber nicht, kann auch sein dass beim Starten des Makros gar kein Filter da ist.
Naja habs mit aufzeichnen versucht, durch googlen versucht und bin zumindest soweit:

Private Sub Filter()
Dim shtnam As Worksheet
Dim lstObj As ListObject
For Each shtnam In Worksheets
For Each lstObj In shtnam.ListObjects
lstObj.AutoFilter.ShowAllData
lstObj.ShowAutoFilterDropDown = False
Next
Next
End Sub
aber Excel meint etwas von Objekt- oder With-Blockvariable nicht festgelegt und da weiß ich jetzt nicht mehr weiter.
Bitte helft mir.
Christian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter entfernen
24.11.2022 21:59:53
ralf_b
teste das mal.

Private Sub Filter()
Dim shtnam As Worksheet
Dim lstObj As ListObject
For Each shtnam In Worksheets
For Each lstObj In shtnam.ListObjects
If Not lstObj.AutoFilter Is Nothing Then
lstObj.AutoFilter.ShowAllData
lstObj.ShowAutoFilterDropDown = False
End If
Next
Next
End Sub

AW: Filter entfernen
24.11.2022 22:33:12
Christian
Hallo Ralf, vielen dank
habe es jetzt mit und ohne gesetztem Filter getestet, sieht soweit gut aus.
Aber mal eine Verständnisfrage, sehe ich das richtig dass du prüfst ob ein Filter gesetzt ist? Aber warum die zweifache Verneinung und keine direkte Prüfung ob gesetzt?
Du siehst ich bin alles andere als ein VBA Profi, auf den Gedanken der Prüfung ob ein Filter gesetzt ist war ich auch schon gekommen, aber auf diesem Weg wäre ich niemals drauf gekommen..
Gruß und noch einen schönen Abend
Christian
Anzeige
AW: Filter entfernen
24.11.2022 22:43:10
ralf_b
probiers doch einfach aus ob es auch anders herum geht.
AW: Filter entfernen
25.11.2022 10:27:44
Herbert_Grom
Hallo Christian,
... auch, weil eine doppelte Verneinung ein "Ja" ist!
Servus
AW: Filter entfernen
25.11.2022 11:08:19
Christian
Hallo Herbert,
das weiß ich auch, aber das war ja auch nicht meine Frage, sondern warum dann nicht auch das "direkte Ja" geht.
Ich habs ja ausprobiert, die Meldung mit den Variablen kam wieder, ich habs mir nur nicht erklären können.
Gruß
Christian
AW: Filter entfernen
25.11.2022 11:30:21
Herbert_Grom
Hallo Christian,
ich verstehe dich ja, weil es einem ja auch irgendwie komisch vorkommt. Aber warum das so ist, können dir nur die Programmierer von MS erklären, oder besser "könnten", denn sie werden es wahrscheinlich nicht tun. In dem Fall hier ist es so wie mit der Banane: Warum heißt die Banane Banane? Genau, weil ihr irgendwann irgendjemand diesen Namen gab.
Servus
Anzeige
AW: Filter entfernen
25.11.2022 12:59:37
Christian
Hallo Herbert,
danke für die Erklärung und klar das kann niemand
Gruß
Christian
AW: Bitte sehr & danke für die Rückmeldung! owt
25.11.2022 16:59:27
Herbert_Grom
,,,
AW: Filter entfernen
25.11.2022 17:44:30
EtoPHG
Hallo,
Die Erklärung von Herbert (2xNein und MS-Banane) ist irgendwie auch NOTHING ;-)
Die Fehlermeldung und der Code sind logisch.
Du schreibst selber, dass du sehr viele ListObjects hast und die Fehler trete bei denen auf, die keinen Autofilter haben.
Der Code Not...Is Nothing ergibt in diesem Fall, dass da Objekt ein Autofilter hat (bzw. haben kann), und lässt solche ohne links liegen, da es da nicht zu machen gibt.
Es gibt in der Informatik halt nicht nur 0 und 1, wahr und falsch, sondern eben auch Nichts und Etwas ;-)
Gruss Hansueli
Anzeige
AW: Filter entfernen
25.11.2022 17:55:21
Christian
Hallo Hansueli,
auch dir danke.
Ich weiß zwar jetzt grad nicht wo ich mich dazu geäußert habe,an welchem Punkt der Fehler auftritt, aber der Rest ist nachvollzehbar,
Gruß
Christian
AW: Filter entfernen
25.11.2022 18:13:29
EtoPHG
Hallo,
Tippfehler in meiner Antwort: trete muss heissen treten
Natürlich hast du nicht zur Codezeile geäussert die den Fehler verursacht, aber es ist fast mit absoluter Sicherheit

lstObj.AutoFilter.ShowAllData
bei einem Listobjekt ohne Autofilter-Möglichkeit.
Und natürlich sollte die Fehlerzeile immer erwähnt werden (gelb markierte Zeile im VBEditor), das hilft den Hilfegebenden.
Gruess Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige