Anzeige
Archiv - Navigation
1816to1820
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

Gesperrt-Option per VBA

Gesperrt-Option per VBA
03.03.2021 14:35:24
Gregor
Hallo zusammen,
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gesperrt-Option per VBA
03.03.2021 15:10:56
Rudi
Hallo,
teste mal:
Sub aaa()
Dim XPASSWORT As String
Dim Pfad$, Ext$, Datei$
Dim wkb As Workbook, wks As Worksheet
XPASSWORT = InputBox("Bitte Passwort eingeben ...")
Pfad = "J:\Ordner1\Ordner2\"
Ext = "Datei_*.xlsx"
Datei = Dir(Pfad & Ext)
Do While Len(Datei) > 0
Set wkb = Workbooks.Open(Filename:=Pfad & Datei) ' aktive Datei
For Each wks In wkb.Worksheets
With wks
With .Range("A1:G10")
.Locked = True
.FormulaHidden = False
End With
.Protect XPASSWORT
End With
Next wks
wkb.Close SaveChanges:=True
Datei = Dir() ' nächste Datei öffnen
Loop
End Sub

Gruß
Rudi

Anzeige
AW: Gesperrt-Option per VBA
03.03.2021 16:54:30
Gregor
Hallo,
vielen Dank - klappt aber leider noch nicht ganz. Diesmal ist die Zeile ".Locked = True" gelb hinterlegt.

AW: Gesperrt-Option per VBA
03.03.2021 17:52:58
Rudi
ist da evtl. schon ein Blattschutz drauf?

AW: Gesperrt-Option per VBA
04.03.2021 08:52:31
Gregor
Hallo,
das kann ich ausschließen. Jedoch sind einzelne Zellen in den Tabellenblättern mal "gesperrt"- und mal auch "nicht gesperrt" = deshalb auch diese Funktion. Könnte das die Ursache sein?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige