Discussion:
Durch Autofilter gefilter Daten beim Start wieder auf "alle" setzen
(zu alt für eine Antwort)
Bernd Schewe
2009-07-06 09:47:48 UTC
Permalink
Liebe Gemeinde,

ich habe eine (O2003) Tabelle mit Autofiltern versehen.

Da die Erfahrung zeigt, dass die Anwender vor dem Speichern oft vergessen,
die Kriterien wieder auf "alle" zurückzusetzen, wollte ich eine Routine in
den auto_open-sub reinpacken, die beim Start die Kriterien automatisch auf
"alle" setzt.

Das Problem ist (vermutlich), dass das Arbeitsblatt geschützt ist und im
Schutz das Sortieren und der Autofilter zugelassen ist.

Das verhindert wahrscheinlich, das div. Vorschläge aus dem Netz ( z.B. mit
showAlldata) mit Fehler abgelehnt werden.

Hat von euch jemand eine Idee ?

Dank im Voraus.

Gruß Bernd
Alexander Wolff
2009-07-06 10:23:15 UTC
Permalink
Post by Bernd Schewe
Liebe Gemeinde,
ich habe eine (O2003) Tabelle mit Autofiltern versehen.
Da die Erfahrung zeigt, dass die Anwender vor dem Speichern oft
vergessen, die Kriterien wieder auf "alle" zurückzusetzen, wollte ich
eine Routine in den auto_open-sub reinpacken, die beim Start die
Kriterien automatisch auf "alle" setzt.
Das Problem ist (vermutlich), dass das Arbeitsblatt geschützt ist und
im Schutz das Sortieren und der Autofilter zugelassen ist.
Unlogisch. "NICHT zugelassen" vielleicht?
Post by Bernd Schewe
Das verhindert wahrscheinlich, das div. Vorschläge aus dem Netz (
z.B. mit showAlldata) mit Fehler abgelehnt werden.
Hat von euch jemand eine Idee ?
Klicke rechts auf den entspr. Blatt-Karteireiter, dort: "Code anzeigen",
dort: Fenster "Eigenschaften", dort: "EnableAutofilter" auf True.

Mittels Workbook_Open-Ereignis könntest Du nun (trotz Blattschutz) zunächst
immer "alle anzeigen" (ShowAllData?). Evtl. braucht es eine
Fehlerbehandlung, wenn dieser Befehl auf eine nicht gefilterte Tabelle
trifft (habs nicht ausprobiert).
--
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2
michlchen
2009-07-06 16:00:31 UTC
Permalink
hallo.

ich hatte auch mal das problem, dass show all data nicht geklappt hat.

was ein versuch wert sein könnte, A1 nach "999" zu filtern
(a1.autofilter criteria:="999") und dann wieder a1.autofilter, um den
filter wieder wegzunehmen.
so hatte es bei mir geklappt.

2. versuch: autofiltermode = false und dann a1.autofilter.

3. versuch: die prozedur in beforeclose reinpacken.
Post by Alexander Wolff
Post by Bernd Schewe
Liebe Gemeinde,
ich habe eine (O2003) Tabelle mit Autofiltern versehen.
Da die Erfahrung zeigt, dass die Anwender vor dem Speichern oft
vergessen, die Kriterien wieder auf "alle" zurückzusetzen, wollte ich
eine Routine in den auto_open-sub reinpacken, die beim Start die
Kriterien automatisch auf "alle" setzt.
Das Problem ist (vermutlich), dass das Arbeitsblatt geschützt ist und
im Schutz das Sortieren und der Autofilter zugelassen ist.
Unlogisch. "NICHT zugelassen" vielleicht?
Post by Bernd Schewe
Das verhindert wahrscheinlich, das div. Vorschläge aus dem Netz (
z.B. mit showAlldata) mit Fehler abgelehnt werden.
Hat von euch jemand eine Idee ?
Klicke rechts auf den entspr. Blatt-Karteireiter, dort: "Code anzeigen",
dort: Fenster "Eigenschaften", dort: "EnableAutofilter" auf True.
Mittels Workbook_Open-Ereignis könntest Du nun (trotz Blattschutz) zunächst
immer "alle anzeigen" (ShowAllData?). Evtl. braucht es eine
Fehlerbehandlung, wenn dieser Befehl auf eine nicht gefilterte Tabelle
trifft (habs nicht ausprobiert).
--
Moin+Gruss Alexander - MVP for MS Excel -www.xxcl.de- mso2000sp3 --7-2
Andreas Killer
2009-07-06 16:18:20 UTC
Permalink
Post by Bernd Schewe
Da die Erfahrung zeigt, dass die Anwender vor dem Speichern oft vergessen,
die Kriterien wieder auf "alle" zurückzusetzen, wollte ich eine Routine in
den auto_open-sub reinpacken, die beim Start die Kriterien automatisch auf
"alle" setzt.
...
Post by Bernd Schewe
Das verhindert wahrscheinlich, das div. Vorschläge aus dem Netz ( z.B. mit
showAlldata) mit Fehler abgelehnt werden.
Hmm, keine Ahnung was Du da probiert hast, dies hier geht bei mir ohne
Probleme.

Private Sub Workbook_Open()
Dim S As Worksheet
'Alle Tabellen durchlaufen
For Each S In Sheets
'Wenn gefiltert alles anzeigen
If S.FilterMode Then S.ShowAllData
Next
End Sub

Der Code muss in das Codemodul der Mappe, wie's geht steht hier:
http://www.online-excel.de/excel/singsel_vba.php?f=44#s3

Andreas.

Loading...