Farbändern soll Makro auslösen
25.04.2023 14:04:22
Florian
Hallo
habe Fragen zu folgendem selbst erstellten Makro.
Mein Problem:
Das Makro springt nicht an, wenn händisch in A1 die Hintergrundfarbe geändert wird.
Wenn sich A1 oder im Bereich a11:i11 was ändert, sollen diese Zellen die Hintergrundfarbe bekommenn wie A1, wenn sie den selben Wert wie A1 haben und automatische Hintergrundfarbe, wenn sie nicht den selben Wert wie A1 haben. Letzteres kann ich nicht, nur weiß. Das ist das andere Problem.
'Das Makro steht in einem Blattmodul.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range
Set Bereich = Range("a11:i11") 'Anzupassender Zellenbereich
If Not Intersect(Target, Range("a1")) Is Nothing Then
'In Zelle A1 wurde was geändert
For Each Zelle In Bereich
'Jede Zelle im Bereich mit selben Inhalt wie in A1 bekommt die Farbe von A1
If Target = Zelle Then
Zelle.Interior.Color = Target.Interior.Color
Else
Zelle.Interior.Color = vbWhite
End If
Next Zelle
ElseIf Not Intersect(Target, Bereich) Is Nothing Then
'Im Bereich wurde was geändert.
For Each Zelle In Target
If Range("a1") = Zelle Then
Zelle.Interior.Color = Range("a1").Interior.Color
Else
Zelle.Interior.Color = vbWhite
End If
Next Zelle
End If
End Sub
Weitere Verbesserungsvorschläge zu diesem Makro gerne willkommen (vllt. geht es ohne For-Schleife), doch vorrangig bitte "Mein Problem" und dann das "andere Problem".
LG, Florian