ich möchte eine große Anzahl an Blättern via VBA schützen, außer 3 - diese "entschütze" ich wieder nach dem eigentlichen Schützen:
Sub Protect()
Dim Blatt As Worksheet
Dim PW As String
PW = "wap2BRP!"
For Each Blatt In ActiveWorkbook.Worksheets
Blatt.Protect PW
Next Blatt
Dim arrProtect, wks As Worksheet
arrProtect = Array("PPM Global - Corrective Actions", "8D Global - Corrective Actions", "Q- _
costs - Corrective Actions") 'wieder zu entschützende Blätter
For Each wks In Worksheets
If Not IsError(Application.Match(wks.Name, arrProtect, 0)) Then
wks.Unprotect "wap2BRP!"
End If
Next wks
End Sub
Das Problem ist, dass nach dem Schützen der Autofilter nicht mehr funktioniert ich habe auch schon "Blatt.EnableAutoFilter = True" vor dem eigentlichen Protect gesetzt, aber das funktioniert leider auch nicht...
Bitte um Eure Hilfe, damit ich den Autofilter nach dem Schützen verwenden kann - Danke!
Ach nochwas - wenn ich das Protect-Makro ausführe, dann blinkt der Bildschrim 1 Sekunde und das wars...
Beim Unprotect "blitzt" der Schirm schon einige Sekunden lang, da alle Blätter sichtlich durchlaufen werden - warum geht Protect schneller als Unprotect? Liegt das an meinem Coding?
Sub Unprotect()
Dim objWorksheet As Worksheet
Dim strPassword As String
strPassword = InputBox("Enter password:", "Password")
If StrPtr(strPassword) = 0 Then Exit Sub
On Error GoTo Abbruch:
For Each objWorksheet In ThisWorkbook.Worksheets
With objWorksheet
.Unprotect Password:=strPassword
.Protect Password:=strPassword, userinterfaceonly:=False
.Unprotect Password:=strPassword
End With
Next objWorksheet
ThisWorkbook.Unprotect Password:=strPassword
Exit Sub
Abbruch:
MsgBox "Wrong Password", vbExclamation, "Message"
End Sub
Bin Euch für jegliche Unterstützung dankbar!
Glg,
Chrisi