vba worksheet_change
24.06.2020 13:57:18
Ahmed
ich bin neu hier und bitte um eure Unterstützung bei folgendem Makro:
Bei einer Veränderung in der Spalte A soll in der gleichen Zeile in Spalte G überprüft werden, ob ein X vorhanden ist. Wenn ja, dann soll die Zelle in Spalte A mit der Farbe rot gefüllt werden. Das X wird über einen in der Zelle hinterlegten Sverweis aus einer anderen Tabelle übernommen.
Folgendes Makro habe ich geschrieben:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SpalteA As Range
Set SpalteA = Range("A:A")
On Error Resume Next
If Intersect(Target, SpalteA) Is Nothing Or Intersect(Target, SpalteA) = "" Then Exit Sub
If Target.Offset(0, 6).Value = "X" Or "x" Then Target.Offset(0, 0).Interior.ColorIndex = 3
End Sub
Folgende zwei Probleme habe ich:
1. Egal ob ein X in der Spalte G eingetragen ist oder nicht, die Zelle in Spalte A wird mit jedem neuen Eintag rot hinterlegt
2. Die Zelle in Spalte A bleibt rot hinterlegt, selbst wenn der Eintrag in Spalte A gelöscht wird. Mit dem Löschen des Eintrages in Spalte A wird auch automatisch das X in Spalte G gelöscht. Somit ist die Voraussetzung für die Hintergrundfarbe nicht mehr gegeben. Ich vermute, dass das Löschen des Zellen-Inhaltes in Spalte A nicht als Veränderung erkannt wird (?).
Hat jemand eine Idee, was an meinem Makro falsch ist?
Danke schon mal im Voraus für die Unterstützung.
Viele Grüße
Ahmed
Anzeige