Blattschutz von gewissen Bereichen über VBA
#1
Einen wunderschönen guten Abend :)

Ich habe eine Frage betreffend dem Blattschutz.

Ich müsste folgende Spalten sperren "A:E" & "H:M" & "R:R" damit der User in diesen Bereichen nichts ändern kann.
Der Vorgesetzte kann jedoch über ein Userform auf die Daten in den gesperrten Bereichen zugreifen.

Damit er auf diese Daten zugreifen kann muss ich ja den Blattschutz entfernen und sobald er das Userform schliesst wieder aktivieren.

Am Anfang würde ich den Blattschutz wie folgt aufheben:

Code:
ActiveSheet.Unprotect Password:="MeinPasswort"

Um die Bereiche wieder zu schützen habe ich folgendes probiert, jedoch ohne Erfolg


Code:
Range("A:E" & "H:M" & "R:R").Locked = True
ActiveSheet.Protect Password:="MeinPasswort"
End Sub

Ich möchte nämlich, dass nur die oben angegebenen Bereiche geschützt sind.

Kann mir jemand sagen, was ich falsch mache?

Lg Matteo
Antworten Top
#2
Moin!
Nutze mal den Rekorder und markiere (bei gedrückter Strg-Taste) nacheinander die Bereiche.
Du erhältst folgendes:
Code:
Range("A:E,H:M,R:R").Select

Du siehst den Unterschied?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Primo Centurio
Antworten Top
#3
Ich Depp hatte vergessen bei der Zellenformatierung den Schutz rauszunehmen ^^
Jetzt hat alles wunderbar geklappt.

Danke :)
Antworten Top
#4
Moin 1st Cent,

wenn Du die Zellen/Bereiche jeweils über ihre Eigenschaften (rechte Maustaste nach Auswahl) schützt, greift der Blattschutz per .protect/unprotect auch ohne dedizierte Zellauswahl in VBA.

Grüße

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste