Gesperrt-Option per VBA
03.03.2021 14:35:24
Gregor
mein VBA-Code soll alle Dateien unter einem fixen Pfad öffnen, bei allen Tabellenblättern den Schutz bei gesperrt setzen und das Tabellenblatt mit einem zuvor abgefragten Passwort versehen. Hierzu habe ich folgenden Code entwickelt:
Dim xpasswort As String
xpasswort = ""
xpasswort = InputBox("Bitte Passwort eingeben ...")
'Unterdateien aktualisieren
Dim Pfad$, Ext$, Datei$
Pfad = Application.ThisWorkbook.Path
Debug.Print Pfad
Pfad = "J:\Ordner1\Ordner2\"
Ext = "Datei_*.xlsx"
Debug.Print Ext
If Pfad = "" Then
Exit Sub
Else
Datei = Dir(Pfad & Ext)
Debug.Print Datei
Do While Len(Datei) > 0
Workbooks.Open Filename:=Pfad & Datei ' aktive Datei
Dim ii As Integer
Dim zz As Integer
ii = 1
zz = ActiveWorkbook.Worksheets.Count
For ii = 1 To zz
Sheets(ii).Select
Range("A1:G10").Locked = True
Selection.FormulaHidden = False
ActiveWindow.SmallScroll Down:=-69
Range("H1").Select
Sheets(ii).Protect (xpasswort)
Next ii
ii = 1
Sheets(ii).Select
Workbooks(Datei).Close SaveChanges:=True
Datei = Dir() ' nächste Datei öffnen
Loop
End If
Sheets(1).Select
Range("E1").Select
MsgBox "Die Maßnahmenblätter wurden mit dem Passwort:" & Chr(13) & Chr(13) & "--- " & xpasswort & " ---" & Chr(13) & Chr(13) & "geschützt.", , "IKS im UB GPV"
xpasswort = ""
Leider bricht mein VBA-Code in Zeile Sheets(ii).Select ab (gelbe Hinterlegung beim Durchlauf) und zeigt den Laufzeitfehler 1004: Die Select-Methode des Worksheet-Objektes konnte nicht ausgeführt werden. an. Trotzdem hat Excel im Hintergrund die erste Datei geöffnet und das Tabellenblatt mit dem Passwort versehen, leider griff aber die gesperrt-Option nicht.
Ich verstehe leider nicht warum - kann mir jemand weiterhelfen bzw. was muss ich im Code verändern?
VG