Hier ist eine Möglichkeit, es ist anzunehmen, dass alle Ihre Werte bereits vorhanden sind und Sie einen Check durchführen, anstatt jemanden live zu tippen. In diesem Fall wäre John ein guter Weg. Was ich jedoch an workheet_change nicht mag, ist, dass nach dem Ausführen des Makros nicht mehr rückgängig gemacht werden kann. Ich fügte hinzu, wenn Länge> 0, als ob Sie zwei leere Zellen hätten, würde es immer noch auslösen.
Sub TestValues()
'Define variables
Dim rng As Range
Dim cell As Range
'Set variables
Set rng = Range("A1:A10")
'Begin
For Each cell In rng
If Len(cell) > 0 Then
If cell.Value = cell.Offset(0, 1).Value Then
'Run macro
End If
End If
Next cell
End Sub
* Edit - ich denke, ich es genau richtig gelesen nicht. Aus irgendeinem Grund dachte ich, du hättest eine Reihe von Werten durchmachen können. Tun genau das, was Sie wollen es eher wie diese, sorry für den langen Post wäre ...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Len(Target) > 0 Then
If Target.Value = Target.Offset(0, 1).Value Then
'Run macro
End If
End If
End If
End Sub
Dergleichen ist in der Regel durch das Schreiben eines Ereignishandler für das 'Worksheet_Change' Ereignis gemacht. Es ist einfach, verschiedene Beispiele online zu finden. –