Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1808to1812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shapes per Makro einfärben

Shapes per Makro einfärben
30.01.2021 12:26:43
tobi
Servus,
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes per Makro einfärben
30.01.2021 12:54:23
Daniel
Hi
Wenn du Re14 über Klick auf Re15 umfärben willst, dann musst du im Makro, welches du Re15 zugewiesen hast, bei With auch den Namen von Re14 angeben und nicht Application.Caller.
Application.Caller ist immer der Name das angeklickten Shapes.
Gruß Daniel
AW: Shapes per Makro einfärben
30.01.2021 13:27:02
tobi
Du das klappt irgendwie nicht.
Wenn ich dem Re15 den Befehl Call AbgerundetesRechteck14_KlickenSieAuf gebe,
dann übernimmt er die Funktionen von Re14, aber wie gesagt färbt sich dann das Re15 ein.
Wenn ich dann im Re14 Makro das (Application.Caller) ersetze, funktioniert das Makro selbst auf Klick auf Re14 nicht mehr. Hab verschiedenste Schreibweisen versucht.
(AbgerundetesRechteck14_KlickenSieAuf)
in Anführungszeichen, ohne Anfhührungszeichen, mit Klammer, ohne Klammer...
Anzeige
AW: Shapes per Makro einfärben
30.01.2021 13:38:53
Daniel
Was hast du denn probiert?
Wie sieht das Makro aus, das bei Klick auf Re15 ausgeführt wird?
Bist du sicher, dass du die richtigen Shapenamen verwendest?
AW: Shapes per Makro einfärben
30.01.2021 14:04:09
tobi
Nein, Du hast Recht. Ich habe den falschen Namen verwendet, bzw. falsch geschrieben.
Wo er als Makroname ohne Leerzeichen geschrieben wird, muss er in der With Funktion mit den Leerzeichen angegeben werden ("Abgerundetes Rechteck 14").
Kleine Ursache, große Wirkung.
Ich danke Dir!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige