Werte abgleichen und ggf Fehlermeldung ausgeben, VBA?

3 Antworten

Dazu brauchst du gar kein Makro, verwende besser die Datenüberprüfung.
Du kannst selbst die Eingabemeldung und die Fehlermeldung texten und dem Benutzer die Möglichkeit geben, aus einem Dropdown aller erlaubten Varianten auszuwählen:

Bild zum Beitrag

Woher ich das weiß:eigene Erfahrung – Faulheit >> Neugier >> Wissen
 - (Microsoft Excel, VBA)

Watches 
Fragesteller
 19.12.2022, 11:07

Danke für die Antwort. Eine Datenüberprüfung habe ich allerdings schon eingerichtet. Diese fängt es mir aber nicht ab wenn der User Daten in die Zelle hineinkopiert. Deshalb muss ich den Teil irgendwie anderst abfangen...

0

Moin!

Um sicherzustellen, dass der Wert in Zelle A2 nicht in der Spalte V vorkommt, könntest du die MATCH-Funktion verwenden. Die MATCH-Funktion sucht nach einem bestimmten Wert in einem Bereich und gibt die Position des Werts innerhalb des Bereichs zurück. Wenn der Wert nicht gefunden wurde, gibt die MATCH-Funktion den Fehlerwert #NV zurück.

Hier ist ein Beispiel für den geänderten Code:

Bild zum Beitrag

In diesem Beispiel wird der Wert in Zelle A2 in der Spalte V gesucht, wenn der Wert in Zelle A2 geändert wird. Wenn der Wert nicht gefunden wurde, wird eine Fehlermeldung angezeigt. Wenn der Wert gefunden wurde, wird eine andere Nachricht angezeigt.

Ich hoffe, das hilft!

Grüße

Woher ich das weiß:Studium / Ausbildung
 - (Microsoft Excel, VBA)

Watches 
Fragesteller
 19.12.2022, 11:48

Hallo, Danke für deine Antwort.

Leider stürzt meine Datei ab, sobald ich Dim ... As Range eingebe

0

Ich rate zu CountIf.

Private Sub Worksheet_Change(ByVal Target As Range)

 If Target.Address = "$A$2" And WorksheetFunction.CountIf(Range("V:V"), Target.Value) > 0 Then
   MsgBox "Sie haben gerade Zelle A2 verändert!"
 End If