Zellbereich schützen vor Bearbeitung
05.11.2021 10:09:11
Smile
folgendes: Ich habe eine Datei welche Kennwortgeschützt ist und habe ein Kontextmenü womit ich diese Datei bearbeite. Dazu wird in der Funktion immer der Kennwortschutz entfernt. Nun habe ich das Problem das auch die Zellen bearbeitet werden können die ich nicht bearbeiten darf. Habe einen Bereichsnamen für diese Zellen vergeben.(Schutz)
Kann ich irgendwie sagen das dieser Bereich td nicht bearbeitet werden kann ? Hatte es versucht mit Range("Schutz").locked = False, hat aber irgendwie nicht funktioniert.
Hier der Code:
Sub Färbe(ByVal sBereich As String)
Dim rng As Excel.Range
Dim vntInput As Variant
Call ActiveSheet.Unprotect(Password:="test")
Select Case Application.CommandBars.ActionControl.Caption
Case Is = "Eintrag löschen"
With Selection
.Interior.PatternColorIndex = xlNone
.Value = vbNullString
ActiveCell.Comment.Delete
End With
Case Is = "Bemerkung"
Do
vntInput = InputBox(Prompt:="Bitte etwas eingeben.", Title:="Eingabe")
If StrPtr(vntInput) = 0 Then Exit
Sub 'Abbrechen gedrückt
If Trim$(vntInput) = "" Then
Call MsgBox(Prompt:="Bitte etwas eingeben.", Buttons:=vbExclamation)
Else
Exit Do
End If
Loop
For Each rng In Selection
With rng
If Not .Comment Is Nothing Then Call .Comment.Delete
Call .AddComment(Text:=vntInput)
End With
Next
Case Else
For Each rng In Selection
With rng
.Interior.Color = Application.Names(sBereich).RefersToRange.Interior.Color
.Value = Application.Names(sBereich).RefersToRange.Value
End With
Next
End Select
Call ActiveSheet.Protect(Password:="test", userinterfaceonly:=True, AllowFiltering:=True)
End Sub