Shapes per Makro einfärben
30.01.2021 12:26:43
tobi
ich möchte gern eine Form (AbgerundetesRechteck14) entweder durch Klick auf eine andere Form, oder durch die Erfüllung einer Bedingung im WorksheetChange die Farbe ändern lassen
Leider bringt mich diese Kleinigkeit zum verzweifeln.
Aktiviere ich das AbgerundeteRechteck14 durch Klick auf dieses selbst, so bekomme ich den Farbwechsel problemlos umgesetzt.
Starte ich das AbgerundeteRechteck14 jedoch über z.B. das AbgerundeteRechteck15, so wird der Farbwechselcode auf das AbgerundeteRechteck15 übertragen.
Diesen Code habe ich auf meinem betroffenen AbgerundetenRechteck14 eingetragen:
Sub AbgerundetesRechteck14_KlickenSieAuf()
ActiveSheet.Unprotect
With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor
If Range("w42") = 1 Then
Range("w42") = 0
.RGB = RGB(242, 0, 0)
Else
Range("w42") = 1
.RGB = RGB(29, 29, 29)
End If
End With
Range("z24").Interior.ColorIndex = 2
ActiveSheet.Protect
End Sub
Folgende Umsetzung fürs WorksheetChange bringt mir leider auch immer Fehlermeldungen:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("W45").Value = 1 then
Range("W42") = 0
ActiveSheet.Shapes("AbgerundetesRechteck14").Fill.ForeColor.RGB = RGB(242, 0, 0)
Else
Range("W42") = 1
ActiveSheet.Shapes("AbgerundetesRechteck14").Fill.ForeColor.RGB = RGB(29, 29, 29)
End If
End Sub
Das AbgerundeteRechteck14 dient mir quasi als An-/Abschalter.
Und die Eigenschaften davon sollen in einen anderen An-/Abschalter integriert werden.
Könnte mir jemand sagen was ich falsch mache, bzw. wie ich es gelöst bekomme?
besten Dank