Excel: PlotArea <> PlotArea

Ihr lieben Experten,
(hallo Reinhard, Thomas u.a. Alt-Mitstreiter, seid ihr noch da, oder habt ihr das sinkende Schiff verlassen?).

Excel 2010. Ein Diagrammblatt mit einem X-Y-Diagramm.
Ich selektiere die Zeichnungsfläche und starte dann den Makro:

Sub auswahl()




 MsgBox (Selection.Parent Is ActiveChart) ' Antwort ist "Wahr"




 MsgBox (Selection Is ActiveChart.PlotArea) ' Antwort ist "Falsch"




End Sub

Was läuft hier falsch? Warum sind die „Eltern“ der Auswahl zwar das aktive Diagramm, die Auswahl selber ist aber angeblich nicht die Zeichnungsfläche des aktiven Diagramms?
Auch diese Variante funktioniert nicht:

Sub auswahl()




    Dim auswahl As Object, zflaeche As Object




    




    Set auswahl = Selection




    Set zflaeche = ActiveChart.PlotArea




    MsgBox (auswahl.Parent Is ActiveChart) ' Antwort ist "Wahr"




    MsgBox (auswahl Is zflaeche) ' Antwort ist "Falsch"




End Sub

Ich möchte doch einfach nur testen, ob der Benutzer die Zeichnungsfläche ausgewählt hat. Das kann doch nicht so schwer sein, oder?

Antworten gerne per Upload-Link, damit hier kein Content geliefert wird.

Danke und Gruß,
Andreas

Grüezi Andreas

(hallo Reinhard, Thomas u.a. Alt-Mitstreiter, seid ihr noch
da, oder habt ihr das sinkende Schiff verlassen?).

…wir rudern noch… :wink:

Excel 2010. Ein Diagrammblatt mit einem X-Y-Diagramm.
Ich selektiere die Zeichnungsfläche und starte dann den Makro:

Was läuft hier falsch? Warum sind die „Eltern“ der Auswahl
zwar das aktive Diagramm, die Auswahl selber ist aber
angeblich nicht die Zeichnungsfläche des aktiven Diagramms?

IMO kannst Du die Objekte nicht einfach so miteinander vergleichen, da sie keinen Bezug zu einander haben (aber genauere Hintergrüdne kenne ich auch nicht…).

Ich möchte doch einfach nur testen, ob der Benutzer die
Zeichnungsfläche ausgewählt hat. Das kann doch nicht so schwer
sein, oder?

Nein, ist es nicht - mit diese rZeile müsstest Du IMO weiter kommen:

MsgBox TypeName(Selection)

Antworten gerne per Upload-Link, damit hier kein Content
geliefert wird.

…warum soll/darf hier kein Content geliefert werden…?
**verwirrt schau**

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Andreas

Hi Thmoas

…wir rudern noch… :wink:

Schön zu wissen, dass die Mannschaft noch an Bord ist.

IMO kannst Du die Objekte nicht einfach so miteinander
vergleichen, da sie keinen Bezug zu einander haben (aber
genauere Hintergrüdne kenne ich auch nicht…).

Der erste Vergleich funktioninert ja: Selection.Parent ist gleich dem ActiveChart. Also irgdendwas muss da gehen.

MsgBox TypeName(Selection)

Bingo. So etwas habe ich gesucht! Ich hatte das vorl längerer Zeit auch schon mal verwendet. Irgedendwas war damit „Type“, das hatte ich noch in Erinnerung. Aber F1 half mir auch nicht weiter.

…warum soll/darf hier kein Content geliefert werden…?
**verwirrt schau**

Ich bezog mit auf Reinhards Idee aus dem Bug-Brett:
http://www.wer-weiss-was.de/bugs/beschraenkung-fuer-…
Wir wollen ja hier den Fragern Antworten geben. Ich möchte aber nicht, dass das Archiv weiterhin durch gute Antworten aufgewertet wird. Das hat djens, der unser schönes Forum so vor die Hunde steuert, nicht verdient.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Gruß und danke,
Andreas