ich möchte gerne einen bestimmten Bereich schützen/sperren
sodass keiner dort Einträge machen kann. Ich möchte allerdings
auch, dass ich
und ein paar Kollegen diesen geschützten Bereich bearbeiten
können (ohne ein Passwort einzugeben)
Hi Christian,
markiere nacheinander in allen Blättern die Zellbereiche, die für alle änderbar bleiben sollen und entferne für diese das Häkchen bei Format—Zellen—Schutz—Gesperrt.
Dann Alt+F11, Doppelklick auf „Diese Arbeitsmappe“, Code reinkopieren, die Benutzernamen derjenigen die alle Zellen bearbeiten dürfen bei
Benutzer = Array(„ich“, „du“, „er“, „sie“)
eintragen, ggfs. das Passwort „Geheim“ in beiden Codes abändern nach Wunsch.
Im Code siehst du untereinander zwei If… Abfragen, die erste überprüft den Benutzernamen in Excel, den siehst du unter Datei–Eigenschaften in Excel. Die zweite überprüft den Benutzernamen unter Windows. Je nachdem welcher Name überprüft werden soll, setzt du vor die andere If-Abfrage ein Hochkomma.
(Ein Hochkomma vor einer Zeile bedeutet, sie wird nicht ausgeführt)
Dann Rechtsklick auf „Diese Arbeitsmappe“ und dann uneter „Eigenschaften von VBAProjekt“—Schutz das Häkchen für gesperrte Anzeige setzen und ein Passwort vergeben.
Dann kann kein Unkundiger das andere Passwort im Code auslesen.
VB-Editor dann schließen.
Option Explicit
'
Private Sub Workbook\_Open()
Dim Benutzer, Erlaubt As Boolean, B As Integer, wks As Worksheet
Benutzer = Array("r", "du", "er", "sie")
For B = 0 To UBound(Benutzer)
If UCase(Application.UserName) = UCase(Benutzer(B)) Then
'If UCase(Environ("Username")) = UCase(Benutzer(B)) Then
For Each wks In Worksheets
wks.Unprotect Password:="Geheim"
Next wks
Exit For
End If
Next B
End Sub
'
Private Sub Workbook\_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
For Each wks In Worksheets
wks.Protect Password:="Geheim"
Next wks
End Sub
Gruß
Reinhard