Zellen mit VBA sperren und entsperren in Excel
Schritt-für-Schritt-Anleitung
- Öffne die Excel-Tabelle, in der du die Zellen sperren und entsperren möchtest.
- Aktiviere den Blattschutz, indem du unter dem Reiter "Überprüfen" auf "Blatt schützen" klickst.
- Öffne den VBA-Editor, indem du
ALT + F11
drückst.
- Finde die Tabelle, in der du arbeiten möchtest. Klicke mit der rechten Maustaste auf den Namen der Tabelle (z.B. "Tabelle1") und wähle "Code anzeigen".
- Füge den folgenden VBA-Code in das Codefenster ein:
Option Explicit
Dim strAlterWert As String
Dim strPasswort As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:P"), Target) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "C" Or Target.Value = "c" Then
ActiveSheet.Unprotect
Target.Offset(0, -3).Locked = True
Target.Offset(0, -4).Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
If strAlterWert = "C" Or strAlterWert = "c" Then
strPasswort = InputBox("Bitte Passwort eingeben")
Select Case strPasswort
Case "1234"
ActiveSheet.Unprotect
Target.Offset(0, -3).Locked = False
Target.Offset(0, -4).Locked = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Case Else
Application.EnableEvents = False
Target.Value = strAlterWert
Application.EnableEvents = True
Exit Sub
End Select
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Range("A:P"), Target) Is Nothing Then Exit Sub
strAlterWert = Target.Value
End Sub
- Passe den Code an, wenn nötig. Ändere den Bereich
Range("A:P")
auf die gewünschten Spalten und das Passwort "1234"
auf dein gewünschtes Passwort.
- Teste das Makro, indem du in eine Zelle "C" eingibst und die entsprechenden Zellen (n-3 und n-4) sperrst.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um gesperrte Zellen in Excel zu entsperren oder zu sperren, ist die Verwendung von Excel-Formeln oder Bedingter Formatierung. Diese Methoden bieten jedoch nicht den gleichen Schutz wie VBA, da sie nicht vor dem Bearbeiten durch unbefugte Benutzer schützen.
Praktische Beispiele
Ein praktisches Beispiel für das Sperren von Zellen könnte in einer Produktionsübersicht sein, wo bestimmte Zellen nur von Vorgesetzten geändert werden dürfen. Mit dem oben genannten VBA-Code kannst du sicherstellen, dass nur autorisierte Benutzer die gesperrten Zellen entsperren können.
Tipps für Profis
- Verwende komplexe Passwörter, um unbefugten Zugriff zu verhindern.
- Teste den VBA-Code in einer Kopie deiner Datei, um Datenverluste zu vermeiden.
- Halte deine Excel-Version aktuell, um sicherzustellen, dass alle VBA-Funktionen reibungslos funktionieren.
FAQ: Häufige Fragen
1. Wie kann ich gesperrte Zellen in Excel entsperren?
Du kannst gesperrte Zellen entsperren, indem du den Blattschutz aufhebst und dann die Zellen manuell entsperrst.
2. Welche Excel-Versionen unterstützen VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.