HERBERS Excel-Forum - das Archiv
geschützte Tabellen trotzdem mit VBA bearbeiten
Peter

Guten Tag
In einem Worksheet habe ich ein Code, der mir alle Tabellen schützt (zZt kein Passwort). Wie muss ich den Code ergänzen, dass geschützte Tabellen weiterhin bearbeitet werden können, wenn dies mittels VBA Code geschieht?
Vielen Dank für eine Rückmeldung.
Peter


Sub DateiSchützen()
Dim Wks As Worksheet
Dim myPwd As String
For Each Wks In ThisWorkbook.Worksheets
Wks.Protect Password:=myPwd      'myPwd hat zurzeit Wert ""
Next
End Sub


AW: geschützte Tabellen trotzdem mit VBA bearbeiten
Horst

Hallo
ActiveSheet.Unprotect 'So hebst Du den schutz auf
Dein Code, mit welchem Du das Blatt bearbeitest
ActiveSheet.Protect 'Das Blatt wird wieder geschützt
Gruß Horst

AW: geschützte Tabellen trotzdem mit VBA bearbeiten
Peter

Hallo Horst
Meines Wissens kann man mit dem Befehl Protect ein paar Parameter zufügen, dass Unprotect gar nicht mehr notwendig ist.
Wer weiss, wie es hier in meinen Code integriert wird?
Danke, Peter

AW: geschützte Tabellen trotzdem mit VBA bearbeiten
Peter

Hallo
Hier ist mein "fast fertiger" Code. Die Codezeile nach Case Else funktioniert leider nicht. Kann mir jemand sagen, wie ich dies modifizieren muss?
Herzlichen Dank, Peter


Sub DateiSchützen()
Dim Wks As Worksheet
Dim myPwd As String
Dim myPwd2 As String
'myPwd = Application.InputBox("Passwort eingeben")
'myPwd2 = Application.InputBox("Wiederholung")
For Each Wks In ThisWorkbook.Worksheets
Select Case Wks.Name
Case "Inventar", "Import","Date"
Case Else
Wks.Protect , DrawingObjects:=True, _
contents:=True, _
UserInterfaceOnly:=True, _
Scenarios:=True, Password:=myPwd
End Select
Next
End Sub


AW: geschützte Tabellen trotzdem mit VBA bearbeiten
Josef

Hallo Peter,
ein Komma zuviel.


Wks.Protect  DrawingObjects:=True, _
contents:=True, _
UserInterfaceOnly:=True, _
Scenarios:=True, Password:=myPwd


Gruß Sepp

AW: geschützte Tabellen trotzdem mit VBA bearbeiten
Peter

Hallo Josef
Kleine Ursache, dumme Wirkung
Vielen Dank, dass du mir so schnell die Lösung gebracht hast!