Mit folgendem Makro hebe ich den Dateischutz in einzelnen Worksheets in meiner Arbeitsmappe auf. Das funktioniert, solange nicht mehrere Worksheets selektiert sind.
Dann wird der Laufzeitfehler '1004' "Die methode¨'Protect' für das Objekt '_Worksheet' ist fehlgeschlagen ausgegeben.
Um das Problem zu lösen, möchte ich das selektierte Worksheet oder eben die Mehrfachauswahl einer Variable zuweisen, dann nur die erste Tabelle selektierten, dann den Code ablaufen lassen und zuletzt aufgrund des Variablen-Inhalts wieder das ursprünglich selektierte Worksheet auswählen, resp. die Mehrfachauswahl wieder herstellen.
Weiss jemand, wie ich den Anfangszustand abfrage und einer Variable zuweise und nach Ablauf des Codes wieder diesen Anfangszustand herstelle?
Danke und Gruss, Peter
Sub Aufheben()
Dim Wks As Worksheet
Application.ScreenUpdating = False
For Each Wks In ThisWorkbook.Worksheets
Select Case Wks.Name
Case "Inventar", "Import"
Case Else
Wks.Protect DrawingObjects:=True, _
contents:=True, _
userinterfaceonly:=True, _
Scenarios:=True, Password:=[_PW].value
Wks.EnableSelection = xlNoRestrictions
End Select
Next
Application.ScreenUpdating = True
End Sub