Hi Jörg,
Falls der link weiter oben deine Page ist - nicht schlecht - respekt.
eigentlich müsste das auch kürzer gehen:
for each x in activesheet.shapes
x.shaperange.zorder msobringtofront
nextIst aber nicht getestet, mit Grafiken arbeite ich nur selten.
Jaja, jetz kommst du und merkerst *g* - mich Jahrelang sitzen lassen, hier mit den Kindern und dem Hund, ich lass mich scheiden, hehe
Ansonsten solltest Du immer versuchen, Select und Activate zu vermeiden.
Ich habe festgestellt, das ich nach einem Makroaufruf, beispielsweise die endposition des Focus so setzen kann. Sonst ist die zuletzt angesprochene Grafik nach Makroende noch mariert. Das sieht blöd aus.
ActiveSheet.Shapes("Group 41").ShapeRange.ZOrder msoBringToFront
BTW. Das "Group" ist übrigens der ausgeschaltete Ampelkörper.
Auch hier taucht Select wieder auf …
In dem kleinen Beispiel mag das mit Select noch gehen, aber wenn Du mal etwas Komplexeres schreibst, wirst Du merken, wie lästig das ist.
Da ich mir der Syntax nicht sicher war, habe ich das so gelösst. Ich startete Makro- aufzeichnen, marierte eine Grafik, schob diese über das Kontexmenü/Rheihenfolge/in den Hintergrund und stoppte die Aufzeichnung. Nun konnte ich im Makro selber spionieren, wie die Befehle aussehen. - Clever muss man sein! *Eigenlob*
Dabei lösste sich auch mein Fehler: Wenn man per Rechtsklick auf eine Grafik ein Makro zuweisen will, stand bei mir z.B. Ellipse21. Folglich verwendete ich in VBA ("Ellipse21").Visible o.ä....
Dann die Fehlermeldung Objekt not found. Warum? Na Klar, das Objekt heisst nähmlich in VBA Oval21 also ("Oval21"). blablabla
Ich habe nicht gedacht, das in einem "eingedeutschtem Kontexmenü auch der Grafikname "eingedeutscht" wird. Da kann VBA lange suchen... ;-)
Naja, die Syntax ist halt Basic. Wenn man sich daran gewöhnt hat, geht es schon. Im Prinzip ist es immer:
Objekt.Methode bzw.
Objekt.Eigenschaft = xyzSchlimmer sind wirklich die verschiedenen Versionen …
Schützt Microsoft eigentlich die Befehle von Excel bzw. ist es verboten diese zu publizieren? Es gibt zwar Foren, die sich mit Excel beschäftigen aber weder dort, noch auf google gibt es eine Sammlung der Befehle, wie was anzuwenden ist. Stattdessen wollen sie dir an jeder ecke im Internet ein Excelhandbuch aufs Auge drücken. Wobei ein Buch sicher nicht schlecht ist. Mich wundert eben nur, das es so schwer ist, eine Komplette Doku aufzutreiben.
So sehen übrigens die Ampeln aus. (Hier waren sie allrdings noch ohne korrekte Funktion, aber jetzt geht es ja)
Viele, viele Grüsse
[latex]
gary_\mathrm {max}
[/latex]