Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter bein Schließen zurücksetzen

Autofilter bein Schließen zurücksetzen
10.04.2013 12:06:36
stormlamp
Hallo,
aus dem Forum habe ich zum Aufheben der Autofiltereinstellungen folgenden Code gefunden und mit dem Passwortschutz ergänzt:
------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wksSheet As Worksheet
For Each wksSheet In ThisWorkbook.Worksheets
With wksSheet
If .AutoFilterMode Then
If .FilterMode Then
.ActiveSheet.Protect Password:="test"
.ShowAllData
.ActiveSheet.Unprotect Password:="test"
End If
End If
End With
Next wksSheet
ThisWorkbook.Save
End Sub
-------------------
Leider funktioniert der Code nicht richtig, sondern bleibt bei ".ShowAllData" hängen.
Was muss ich hier ändern?
Gruß stormlamp

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter bein Schließen zurücksetzen
10.04.2013 12:08:18
Klaus
Hi,
falsche Reihenfolge:
                    .ActiveSheet.Unprotect Password:="test"
.ShowAllData
.ActiveSheet.Protect Password:="test"
Grüße,
Klaus M.vdT.

AW: Autofilter bein Schließen zurücksetzen
10.04.2013 12:44:19
stormlamp
Danke für den Hinweis -ich musste allerdings noch die Punkte vor ActiveSheet wegnehmen. Dieser Code funktioniert jetzt:
--------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wksSheet As Worksheet
For Each wksSheet In ThisWorkbook.Worksheets
With wksSheet
If .AutoFilterMode Then
If .FilterMode Then
ActiveSheet.Unprotect Password:="test"
.ShowAllData
ActiveSheet.Protect Password:="test"
End If
End If
End With
Next wksSheet
ThisWorkbook.Save
End Sub
----------------
Gruß stormlamp

Anzeige
Bezweifele, dass der funktioniert ...
10.04.2013 13:27:02
Klaus
Hallo Stormlamp (seltsamer Vorname ...),
richtig: die Punkte in meinem Code waren falsch.
aber: dein Code funktioniert, wenn er es tut, eher zufällig. Korrekterweise sollte es so aussehen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wksSheet As Worksheet
For Each wksSheet In ThisWorkbook.Worksheets
With wksSheet
If .AutoFilterMode Then
If .FilterMode Then
.Unprotect Password:="test"
.ShowAllData
.Protect Password:="test"
End If
End If
End With
Next wksSheet
ThisWorkbook.Save
End Sub
(du willst ja auf wkssheet den Filter aufheben und nicht auf activesheet)
Grüße,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige