VBA: Name eines Shape-Objekts
Günther
Beim Versuch per VBA zu ermitteln, ob es ein Shape-Objekt mit einem bestimmten Namen nicht mehr gibt, bin ich auf etwas gestoßen, dessen Logik sich mir nicht so recht erschließt. Würde mich freuen, wenn jemand einen Tipp für mich hat:
Wenn man die Erstellung eines Textfeldes aufzeichnet, bekommt es im Makro den Namen "Textbox 1" und im Namenfeld der Excel-Oberfläche den Namen "Textfeld 1". Diesen kann man anschließend per Namenfeld oder VBA-Befehl (ActiveSheet.Shapes(1).Name = "...") beliebig ändern, zB auf "Günther". Die Shapes-Auflistung enthält nun genau ein Element und folgende Befehle liefern:
ActiveSheet.Shapes(1).Name
ergibt: Günther (das ist logisch)
ActiveSheet.Shapes("Günther").Name
ergibt: Günther (das ist auch logisch)
ActiveSheet.Shapes("Textbox 1").Name
ergibt: Günther (das ist nicht logisch - zumindest nicht für mich - und mit meinem aktuellen Wissensstand ;-) ...
Gemäß meinem Verständnis, sollte beim dritten Befehl die übliche Fehlermeldung kommen, dass es in der Auflistung kein Element mit diesem Namen gibt.
Ist es so, dass jedes Shape zwei Namen besitzt?
Wie kann ich den "internen Namen" "Textbox 1" verändern oder abfragen?
Danke für alle Hinweise.
vg Günther