Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Eingabebereich sperren wenn Zelle A1 u. nicht identisch

Forumthread: Eingabebereich sperren wenn Zelle A1 u. nicht identisch

Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 15:02:04
Euti
Hallo Community,
wie müsste ein VBA-Code lauten, wenn ich in dem Tabellenblatt "Kosten" eine Eingabe in den Zellbereich A7:H10 verhindern möchte, falls die Zellinhalte A1 und B1 nicht identisch sind (Zellinhalt ist immer eine aus einer Formel ermittelte Zahl)?
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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.
Anzeige
AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 15:38:53
Euti
Hallo Pierre,
der Code lässt eine Eingabe zu, wenn beide Zellen (A1+B1) identischen Zellinhalt/Zellwert haben. Wenn ich aber in beiden Zellen unterschiedliche Werte habe,
dann erscheint die MsgBox nicht und der eingegebene Zellwert "flackert".
Ps.: Hatte es auch schon mit Copilot versucht, aber offenbar die falsche Formulierung verwendet, denn mir wurde ein "Prüf-Makro" ausgegeben, welches nach
Dateneingabe den Abgleich von Zelle A1 u. B1 vornahm.
Anzeige
AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 15:40:18
Euti
Beitrag noch offen
AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 16:56:53
Firmus
Hi Euti,

so sollte es klappen.
Application.EnableEvents = False wird benötigt.
Achtung: Falls du beim Testen das Makro abbrichst, solltest du in einem eigenen kleinen Makro
Application.EnableEvents = True wieder setzen.

Option Explicit

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.EnableEvents = False
Application.Undo
MsgBox "Die Zellinhalte von A1 und B1 sind nicht identisch. Eingaben sind nicht erlaubt!", vbExclamation
Application.EnableEvents = True
End If
End If
End Sub


Gruß,
Firmus
Anzeige
AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
03.02.2025 19:01:32
BoskoBiati2
Hi,

alle Welt heult, dass über VBA Schadcode auf den Rechner gelangen kann, in Firmen wird VBA nicht zugelassen, aber in den Foren schreit jeder bei den einfachsten Aufgaben nach Makros und dem entsprechenden Code, den er/sie weder versteht, noch im Zweifel anpassen kann. Dabei gibt es für fast alle Probleme eine VBA-freie Lösung:

A7:H10 markieren. Datentools --> Datenüberprüfung --> benutzerdefiniert --> Formel:

=(A1=B1)*(A1>"")


Damit ist keine Eingabe möglich, wenn A1>B1!

Gruß

Edgar
Anzeige
AW: Eingabebereich sperren wenn Zelle A1 u. nicht identisch
04.02.2025 09:49:44
Euti
Hallo BoskoBiati2,
danke für den guten Tipp, ich habe ihn erfolgreich angewendet. Ja, so ist das Leben: Für den Einen ist es "die einfachste Aufgabe", für den Anderen ist es eben Neuland.

Forumthreads zu verwandten Themen

Anzeige