ich habe schon wieder ein Problem...
Ist es möglich, eine Zelle (D3) per VBA zu sperren, wenn ein Wert eingegeben wurde und nur per Button wieder zu entsperren, um einen neuen Wert einzugeben?
Wer kann helfen?
Danke und Gruss Ina
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = False
ActiveSheet.Protect
End If
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Option Explicit
Private Sub Workbook_Open()
chkVal = False
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Option Explicit
Private Sub CommandButton1_Click()
chkVal = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(False, False) = "D3" And chkVal = True Then
chkVal = False
ElseIf Target.Address(False, False) = "D3" And chkVal = False Then
Target.Offset(0, -1).Select
End If
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Option Explicit
Public chkVal As Boolean
Um eine Zelle in Excel nach der Eingabe zu sperren, kannst du VBA (Visual Basic for Applications) nutzen. Hier ist eine einfache Anleitung:
Öffne Excel und gehe zu der Arbeitsmappe, in der du die Zelle sperren möchtest.
Drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
Füge den folgenden Code in das Klassenmodul der Tabelle ein, in der du arbeiten möchtest:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = False
ActiveSheet.Protect
End If
End Sub
Erstelle einen Button aus der Steuerelement-Toolbox und weise ihm den folgenden Code zu:
Private Sub CommandButton1_Click()
chkVal = True
End Sub
Speichere die Arbeitsmappe und öffne sie erneut. Der Button wird jetzt die Zelle D3 entsperren, wenn du darauf klickst.
Problem: Nach der Eingabe wird das gesamte Arbeitsblatt gesperrt.
Problem: Der Button funktioniert nicht.
Eine andere Möglichkeit, eine Zelle in Excel zu sperren, ist die Verwendung von Formeln oder Datenvalidierungen. Diese bieten zwar nicht denselben Schutz wie VBA, können aber hilfreich sein, um Eingaben in Zellen zu steuern. So kannst du beispielsweise den Benutzer auffordern, einen bestimmten Wert einzugeben, und andere Eingaben verhindern.
1. Wie kann ich eine andere Zelle als D3 sperren?
Du musst die Adresse in dem Code von "$D$3"
auf die gewünschte Zelle ändern.
2. Kann ich mehrere Zellen gleichzeitig sperren?
Ja, du kannst die Logik im VBA-Code anpassen, um mehrere Zellen zu berücksichtigen. Füge einfach weitere Bedingungen hinzu.
3. Funktioniert dies in Excel Online?
Leider ist VBA nicht in Excel Online verfügbar. Du musst dies in der Desktop-Version von Excel durchführen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen