Anzeige
Archiv - Navigation
1864to1868
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
Blattschutz aufheben VBA?
18.01.2022 09:49:47
Herrmann
Hallo Community,
ich arbeite mit einer Exceldatei, welches 12 Arbeitsblätter besitzt. Nun musste ich ein Blattschutz einrichten (Schutz für Zellen wo drin Formeln stehen), da durch diverse MA des öfteren Formeln gelöscht oder geändert wurden. Wenn ich nun etwas an den besagten Zellen verändern möchte, muss ich für alle 12 Arbeitsblätter immer wieder den Schutz aufheben, es bearbeiten und den Schutz wieder für diese Zellen auflegen.
Gibt es ein VBA Code, womit ich mit einer Ausführung den Schutz für alle Arbeitsblätter aufheben und wieder für die gleichen Zellen anlegen kann ?
Ich bedanke mich Voraus.
Gruß

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz aufheben VBA?
18.01.2022 10:03:05
DuFF
Hi, ich konnte es so gelöst mittels Commandbutton und textfeld:

Private Sub CommandButton3_Click()
Dim i As Integer
Dim pw As String
pw = InputBox("bitte passwort eingeben")
If pw  "hier das passwort" Then
MsgBox "Passwort falsch"
Exit Sub
Else
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Unprotect Password:="schnee"
Next
End If
End Sub

Private Sub CommandButton4_Click()
Dim i As Integer
Dim pw As String
pw = InputBox("bitte passwort eingeben")
If pw  "hier das passwort" Then
MsgBox "Passwort falsch"
Exit Sub
Else
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Protect Password:="hier das passwort"
Next
End If
End Sub

Anzeige
AW: Blattschutz aufheben VBA?
18.01.2022 10:48:12
Herrmann
Hallo,
funktioniert prima, vielen dank!
Gruß
AW: Blattschutz aufheben VBA?
18.01.2022 10:16:43
migre
Hallo!
Als "Schalter" (also Blattschutz auf allen Blättern "an" bzw. "aus" im Wechsel) zB so:

Sub BlattschutzAlleAnAus()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim B As Worksheet
For Each B In Wb.Worksheets
Select Case B.ProtectContents
Case True
B.Unprotect "PASSWORT"
Case False
B.Protect "PASSWORT", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
End Select
Next B
Set Wb = Nothing: Set B = Nothing
End Sub
Beachte: natürlich musst Du das entsprechende Passwort im Code (2x!) richtig setzen und für die Optionen beim Schutz, also der Teil hier

DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
nutzt Du am Besten den Makrorekorder beim ersten manuellen Setzen des Blattschutzes, und kopierst Dir dann die entsprechend gewählten Optionen in diesen Code.
LG Michael
Anzeige
AW: Blattschutz aufheben VBA?
18.01.2022 10:48:41
Herrmann
Hallo,
auch diese Lösung funktioniert prima, vielen dank!
Gruß
Gern, Danke für die Rückmeldung, owT
18.01.2022 11:57:18
migre

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige