gary: Excel: VBA IF-Abfrage

Beitrag lesen

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
next

Ist 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 = xyz

Schlimmer 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)

guckst_du_hier

Viele, viele Grüsse

[latex]
gary_\mathrm {max}
[/latex]