Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

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

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

125 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige