Shapes kopieren und positionieren

  • Excel

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas1991.

    Shapes kopieren und positionieren

    Guten Morgen,
    ich bin ziemlicher Laie in dem Umgang mit Excel und habe ein Problem mit Makros/ VBA. Ich versuche derzeit per Klick auf ein Symbol eine Legende aus einem anderen Sheet einzufügen. Diese Legende soll mit der Bezugslinie das Symbol berühren das vorher angeklickt wurde. Ich habe es bisher so versucht, dass ich vorher ausprobiert habe in welche Zelle die Legende eingefügt werden muss, sodass diese Berührung zustande kommt. Das funktionierte mit "Makro aufzeichnen" auch ohne Probleme. Als ich jedoch gerade die Excel Datei geöffnet und auf das Symbol geklickt habe, wurde die Legende zwar eingefügt jedoch leicht versetzt zu der gewünschten Stelle. Wie kann ich das Problem mit VBA / Makros lösen? Danke im Vorraus für eure Antwort.


    Sheets("Neu").Select
    ActiveSheet.Shapes("AutoShape 3").Select
    Selection.Copy
    Range("C12").Select
    Sheets("Europa ").Select
    Range("C12").Select
    ActiveSheet.Paste
    Range("M11").Select

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thomas1991“ ()

    tulla schrieb:


    Sind denn die TabellenZellen unterschiedlich breit?
    Nein die sind noch alle in der ursprünglichen Breite. Könnte das vielleicht auch daran liegen, dass ich das gerade an einem kleineren Bildschirm ausprobiere? Geplant ist natürlich das es bei jeder Bildschirmgröße funktionieren soll.
    Lass dir mal in zwei weiteren Zellen dies hier aus geben.

    Visual Basic-Quellcode

    1. ActiveSheet.Shapes("AutoShape 1").Top
    2. ActiveSheet.Shapes("AutoShape 1").Left


    Bei jedem Kopiervorgang eines Shapes ist Excel so eingestellt, dass es X (Left) und Y (Top) jeweils um ein paar Punkte versetzt.
    Wie meinst du das genau? Soll ich den Code noch zusätzlich in das bestehende Makro einfügen oder ein neues damit erstellen? Wenn ich das ins bestehende einfüge kommt eine Fehlermeldung. Grundsätzlich: Wenn ich das Shape lösche und noch mal auf das Symbol klicke wird das Shape an die selbe Stelle eingefügt wie beim ersten versuch.
    Ich weis, dass ist das was ich meine siehe Bild 1 und Bild 2

    Bild 1 ist der 1. Durchlauf
    Bild 2 ist der 2. Durchlauf

    Dies bedäutet, dass er die shapes nicht übernander setzt und den Top und Left Wert(der def. die Linke obere Ecke des Shapes) weiter zählt.
    Bilder
    • erster.jpg

      56,7 kB, 449×383, 288 mal angesehen
    • zweiter.jpg

      67,35 kB, 544×375, 268 mal angesehen
    Das das beim zweiten Durchlauf versetzt wird verstehe ich. Nur das Shape soll ja nur einmal eingefügt werden, daher ist der Versatz beim zweiten Durchlauf ja egal oder willst du mir noch was anderes damit sagen? Als alles noch so funktionierte wie ich wollte wurde der 1. Durchlauf immer an der selben Stelle eingefügt auch wenn ich den 1. Durchlauf gelöscht habe und es noch mal probiert habe. Jetzt wird der 1. Durchlauf jedoch an eine andere Stelle eingefügt