Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Alle Filter beim Schließen der Datei zurücksetzen
#1
Hallo,

ich arbeite gerade an einem Excel Dokument, an dem parallel auch andere Personen arbeiten. Viele filtern die Tabelle und speichern diese ab. Gibt es eine Möglichkeit, dass beim Schließen der Datei automatisch alle Filter zurückgesetzt werden?

Vielen Dank!
Antworten Top
#2
Hi,

das wird nur mit einem Makro gehen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hi,

hab' mal eines aufgezeichnet. Du kannst einem Button dieses Makro zuweisen - es werden alle Filter aufgehoben, die Datei gespeichert und geschlossen.


Code:
Option Explicit

Sub FilterEntfernenVorSpeichern()

   Selection.AutoFilter
   ThisWorkbook.Save
   ThisWorkbook.Close
   
End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Hi,

d.h. man muss die Datei dann auch über diesen Button schließen? Gibt es auch eine Möglichkeit, dass man die Excel-Datei ganz normal schließt und dann das Makro startet und die Filter zurücksetzt?
Antworten Top
#5
Hallöchen

da gibt es in DieseArbeitsmappe oben rechts zur Auswahl ein Ereignismakro … BeforeSave. Dort nimmst Du die Zeile mit dem AutoFilter rein.

Mal noch ein Hinweis zum Aufzeichnen. Man sollte berücksichtigen, dass Excel beim Ausführen eines aufgezeichneten Makros eventuell irgendwo ist und nicht genau an der Stelle, wo man das Makro benötigt. Ich tue dabei dann meist irgendeine Zelle auswählen, auf ein anderes Blatt gehen usw. und dann die Aufzeichnung starten. Da muss ich erst das Blatt wählen, den Bereich / die Zelle, wo ich was machen will usw. Dadurch erhöht sich die Wahrscheinlichkeit, dass der Code gleich läuft Smile
Falls spezielle Einstellungen erforderlich sind, ändere ich die vorher ggf. auch, sodass bei der Aufzeichnung auch das noch dabei ist.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hi,

VBA und ich sind noch keine Freunde - deshalb auch nur das aufgezeichnete Makro. Das müssen dir die Spezialisten noch umschreiben, falls du es auch nicht kannst. Im Augenblick macht es zwar das, was es soll. Allerdings müssen dabei wirklich Filter gesetzt sein. Falls keine gesetzt sind, bekommst du eine Fehlermeldung.

Wenn du es trotzdem verwendest, musst du nur "ThisWorkbook.close" löschen. Dann kannst du es nach dem Filterentfernen manuell schließen. Gespeichert ist es automatisch.


Zitat:[...]dass man die Excel-Datei ganz normal schließt und dann das Makro startet und die Filter zurücksetzt?

Das geht nicht. Erst Filter zurücksetzen und speichern (Makro), dann schließen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Hallöchen,

dann ich auch noch mal

Zitat:[...]dass man die Excel-Datei ganz normal schließt und dann das Makro startet und die Filter zurücksetzt?

Wenn Du beim Speichern keine Filter gesetzt hattes, dann kannst Du die Datei schließen, es sind keine Filter drin und Du brauchst das Makro nicht.

Wenn Du die Datei speicherst und hast meinen Hinweis befolgt, sollten die Filter raus sein. Wenn Du die Datei dann aber nicht schließt sondern weiter arbeiten willst, musst Du die Filter wieder aktivieren.

Wenn Dir letzteres nicht zusagt, müsstest Du als Ereignis BeforeClose nehmen und dabei aber die Datei auch nochmal speichern, das ist die Zeile mit dem Save.
Das hat allerdings den Nachteil, wenn Du mal nur zumachen willst ohne zu speichern, weil vielleicht was nicht in Ordnung war, geht das nicht mehr. Es wird mit dem Makro ja bei jedem Schließen gespeichert. Da könnte bzw. müsste man noch eine Abfrage dazuschreiben, um das bei Bedarf verhindern zu können …
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hi,

man könnte doch beim Speichern ("BeforeSave") und beim Schließen ("BeforeClose") jeweils die Filterung zurücksetzen, sodaß der Autofilter zwar eingeschaltet ist, aber alle Daten angezeigt werden.
Antworten Top
#9
Hallo Ralf,

ja, so geht das auch.
Mir ging's darum, dass es beim Schließen und Speichern verschiedene "Bedürfnisse" geben kann. Da müsste man sich die verschiedenen möglichen bzw. wahrscheinlichen Fälle mal aufschreiben und was dabei passieren soll und danach dann programmieren.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hallo,

stimmt, es macht mehr Sinn die Filter "BeforeSave" zurückzusetzen. Durch folgenden Befehl hat es geklappt:

Code:
ActiveSheet.Range("Tabelle1").ListObject.Autofilter.ShowAllData
ActiveSheet.Range("B1).Value=""

Mein Dokument besteht aber aus mehreren Blättern. Wie kann ich auch die anderen Tabellen hinzufügen, sodass alle Filter in allen Tabellen zurücksetzt werden?

Danke!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste