Hallo Tina,
die unendliche Geschichte... Das meinte ich eigentlich, als ich schrieb, dass die ganze Adressierung nicht mehr stimmt, wenn sich an den Ampeln etwas ändert. Jedes "Ampelgehäuse" (Rechteck) und jedes Ampelfeld (Kreis) ist von VBA aus gesehen ein Shape-Objekt, das mit einer laufenden Nummer adressiert wird. Diese Nummern werden in der Reihenfolge vergeben, wie sie dem Sheet hinzugefügt werden. Beim Löschen eines Shapes rücken die folgenden jeweils eine Nummer nach vorn. Damit die Adressierung, wie ich sie verwendet habe, funktioniert, müssen die Shapes in folgender Reihenfolge hinzugefügt werden:
1.: Rechteck 1. Ampel
2. - 5.: Felder der 1. Ampel von oben nach unten
6.: Rechteck 2. Ampel
7. - 10.: Felder der 2. Ampel von oben nach unten
usw.
Die Reihenfolge der Shapes kannst du zwar mit der ZOrder-Mathode ändern, aber dazu musst du erst mal die aktuelle Position kennen. Das wäre alles in allem genausoviel Fummelei, als wenn du alles gleich neu machst. Am einfachsten geht es natürlich per Code, ich habe dafür mal ein Beispiel gemacht und upgeloadet.
http://loaditup.de/131549-.html
Vielleicht kannst du ja etwas damit anfangen. Die Position des Shapes auf dem Blatt wird durch die Parameter Left und Top, die Größe durch Height und Width bestimmt. Diese Parameter werden in Punkt angegeben (1 Punkt = 1/72 Zoll, also 0,35 mm). Am besten du probierst das erst mal in einer separaten Datei, und wenn es deinen Vorstellungen entspricht, kopierst du das Sheet in deine Arbeitsmappe.
Zur Zuordnung der Ampeln zu den Worksheets hatte ich ja schon im letzten Posting etwas geschrieben, das stützt sich natürlich auch auf die Reihenfolge der Shapes, wie ich sie hier beschrieben habe. Klingt alles kompliziert, ist aber eigentlich ganz einfach...
LG Jürgen
|