Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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 Linie mit Klick Farbwechsel

Shapes Linie mit Klick Farbwechsel
24.09.2017 10:05:36
Dieter(Drummer)
Guten Morgen Spezialisten,
dieses Makro, in Modul1, ändert die Shapeslinie rot in grün.
Wie muss das Makro sein, wenn die Shapeslinie mit 1. Klick rot und 2. Klick grün werden soll. Nach 1. Klick kommt "Mein Makro 1" und nach 2. Klick kommt "Mein Makro 2".
Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Musterdatei: https://www.herber.de/bbs/user/116469.xlsm
Sub Linien_Farbwechsel()
ActiveSheet.Shapes.Range(Array("MultiPli2")).Select
With Selection.ShapeRange.Line
.ForeColor.RGB = RGB(255, 0, 0)
End With
MsgBox ("Linie rot") ' Hier mein Makro1
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 128, 0)
End With
MsgBox ("Linie wird grün") ' Hier mein Makro2
Range("A2").Select
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes Linie mit Klick Farbwechsel
24.09.2017 10:11:46
Hajo_Zi
hallo Dieter,
prüfe die Farbe bei Start mit Select case.

AW: Shapes Linie mit Klick Farbwechsel
24.09.2017 10:25:25
Dieter(Drummer)
Danke Hajo für Rückmeldung,
aber da weiß ich nicht, wie ich das im Code umsetzen soll?
Es soll ja auch ein Farbwechsel möglich sein, nach 1. Klick und dann nach 2. Klick.
Gruß, Dieter(Drummer)
AW: Shapes Linie mit Klick Farbwechsel
24.09.2017 10:32:06
Hajo_Zi
Hallo Dieter,
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Gruß Hajo
Anzeige
AW: Hajo, hatte Musterdatei gesendet!
24.09.2017 10:37:49
Dieter(Drummer)
AW: Hajo, hatte Musterdatei gesendet!
24.09.2017 10:50:07
Hajo_Zi
Hallo Dieter,
Option Explicit
Sub Linien_Farbwechsel()
ActiveSheet.Shapes.Range(Array("MultiPli2")).Select
If Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0) Then
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 128, 0)
Else
Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
End If
Range("A2").Select
End Sub
Gruß Hajo
AW: Danke Hajo, perfekte Lösung ...
24.09.2017 11:04:12
Dieter(Drummer)
... ganz wie ich es wollte.
Gruß, und einen schönen Sonntag,
Dieter(Drummer)
Anzeige
Beverlys Ansatz umgestzt
24.09.2017 11:10:55
Hajo_Zi
Hallo Dieter,
Option Explicit
Sub Linien_Farbwechsel()
With ActiveSheet.Shapes.Range(Array("MultiPli2"))
If .ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0) Then
.ShapeRange.Line.Visible = msoTrue
.ShapeRange.Line.ForeColor.RGB = RGB(0, 128, 0)
Else
.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
End If
End With
End Sub
Gruß Hajo
AW: Beverlys Ansatz umgestzt
24.09.2017 11:17:50
Dieter(Drummer)
Hallo Hajo,
der Code ergibt einen Fehler:
"Objekt unterstütz Eigenschaften oder Methode nicht".
Diese Zeile wird gelb markiert:

If .ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0) Then

Gruß, Dieter(Drummer)
Anzeige
Du weißt schon...
24.09.2017 11:16:38
Beverly
Hi Dieter,
...dass selbst Hajo immer schreibt: "auf Select und Activate kann verzichtet werden..." - Lösung siehe meinen Code.


AW: Shapes Linie mit Klick Farbwechsel
24.09.2017 10:48:43
Beverly
Hi Dieter,
meinst du das so:
Sub Linien_Farbwechsel()
With ActiveSheet.Shapes(Application.Caller)
If .Line.ForeColor.RGB = RGB(255, 0, 0) Then
MsgBox "Linie grün"
.Line.ForeColor.RGB = RGB(0, 128, 0)
Else
MsgBox "Linie rot"
.Line.ForeColor.RGB = RGB(255, 0, 0)
End If
End With
End Sub


Anzeige
AW: Shapes Linie mit Klick Farbwechsel
24.09.2017 11:07:46
Dieter(Drummer)
Hallo Karin,
danke für deinen Code. Er wirft wohl einen Fehler aus:
"Das Element mit dem angegebenen Namen wurd nicht gefunden".
Gruß, Dieter(Drummer)
Funktioniert schon, wenn...
24.09.2017 11:15:07
Beverly
Hi Dieter,
du das Makro mit dem Shape verknüpfst Wenn du das Makro von Hand ausführst, kann Application.Caller nicht gefunden werden, denn dies heißt ja (sinngemäß) "das aufrufende Element"


AW: Danke Karin, du hattes Recht ...
24.09.2017 11:23:46
Dieter(Drummer)
... mit Verknüpfung funktioniert es.
Ich weiß, dass man "Select" nicht braucht, aber es ohne umzusetzen ist für mich nicht so einfach.
Danke und einen schönen Sonntag.
Gruß, Dieter(Drummer)
Anzeige
AW: Danke Karin, du hattes Recht ...
24.09.2017 11:32:19
Beverly
Hi Dieter,
sicher gibt es Fälle, wo man ohne Select nicht auskommt, aber da wo es möglich ist (wie in deinem Beispiel), ist es im Prinzip ganz einfach: packe das Ganze (siehe meinen Code) in eine With-Anweisung, die sich auf das selektierte Objekt bezieht.


AW: Danke Karin, für Info zu "select". owT
24.09.2017 12:58:12
Dieter(Drummer)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige