AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 15:17:42
Pierre
Hallo,
nachfolgend von ChatGPT mit genau deiner Frage:
Der folgende VBA-Code überprüft, ob die Zellinhalte von A1 und B1 im Tabellenblatt „Kosten“ identisch sind. Falls sie nicht identisch sind, wird die Eingabe im Bereich A7:H10 verhindert, und eine Warnung ausgegeben. Du kannst diesen Code in das entsprechende Tabellenblatt einfügen.
So geht's:
Klicke mit der rechten Maustaste auf den Tab des Arbeitsblatts „Kosten“.
Wähle „Code anzeigen“ aus, um den VBA-Editor zu öffnen.
Füge den folgenden Code ein.
Private Sub Worksheet_Change(ByVal Target As Range)
' Bereich, in dem Eingaben verhindert werden sollen
Dim eingabeBereich As Range
Set eingabeBereich = Range("A7:H10")
' Prüfen, ob die veränderte Zelle im Eingabebereich liegt
If Not Intersect(Target, eingabeBereich) Is Nothing Then
' Überprüfen, ob die Inhalte von A1 und B1 identisch sind
If Range("A1").Value > Range("B1").Value Then
' Eingabe rückgängig machen und Warnung ausgeben
Application.Undo
MsgBox "Die Zellinhalte von A1 und B1 sind nicht identisch. Eingaben sind nicht erlaubt!", vbExclamation
End If
End If
End Sub
Erklärung:
Worksheet_Change: Dieses Ereignis wird ausgelöst, wenn eine Änderung in einem Arbeitsblatt erfolgt.
Intersect: Prüft, ob die geänderte Zelle im Bereich A7:H10 liegt.
Application.Undo: Macht die Änderung rückgängig, wenn die Bedingung nicht erfüllt ist.
MsgBox: Zeigt eine Warnmeldung an, wenn die Bedingung nicht erfüllt ist.
Mit diesem Code werden Eingaben in den Bereich A7:H10 nur zugelassen, wenn die Zellinhalte von A1 und B1 identisch sind.