Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shapes - Linie zeichnen zw zwei Punkten

Shapes - Linie zeichnen zw zwei Punkten
05.09.2022 21:01:36
Daniel
Hallo
wie programmiere ich folgendes am geschicktesten:
ich habe als Vorlage für ein Grafikelement ein kurzes stück Linie. Dieses möchte ich kopieren und an einer anderen Stelle zwischen zwei gegeben Punkten einfügen.
die Punkte sind jeweils mit dem .Top und dem .Left-Wert gegeben.
also im Prinzip so:

Activesheet.Shapes("Vorlage_Linie").Copy
ActiveSheet.Paste
Selection.? = Top1
Selection.? = Left1
Selection.? = Top2
Selection.? ? Left2
Ich möchte halt die Formatierung der Linie nicht programmieren, sondern in der Vorlage vorgeben, so dass ich sie in allen aspekten übernehmen kann.
Also entweder die Linine kopieren und dann die Eckpunkte anpassen (aber nicht Top und Left denn das berücksichtigt nicht die Richtung der Linie, oder ich zeichne die Linie und übertrage das Format, analog .´Copy/PasteSpecial bei Zellen. Allerdings zeichnet mir hier der Recorder das einfügen des Formates nicht auf.
Das kopieren scheint .PickUp zu sein, aber nach der selektion des Zielobjektes bricht die Aufzeichnung ab.
Kann mir da jemand weiterhelfen?
Gruß Daniel

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes - Linie zeichnen zw zwei Punkten
05.09.2022 21:36:06
Fennek
Hallo,
hier ein Ansatz zum Spielen:

Sub T_1()
Dim WS As Worksheet: Set WS = ActiveSheet
Dim Shp As Shape
WS.Shapes(1).Copy
WS.Paste
Set Shp = WS.Shapes(WS.Shapes.Count)
Shp.Top = 125
Shp.Left = 100
Shp.Rotation = 45               'degree
Shp.ScaleWidth 1.5, msoFalse    'Factor
End Sub
mfg
AW: Shapes - Linie zeichnen zw zwei Punkten
05.09.2022 22:53:52
Rudi
Hallo,
du musst die Höhe und Breite der Linie bestimmen und den Anfangspunkt.
Schema:

with selection
.top=top1
.left=left1
.height= iif(top1>top2,top1-top2,top2-top1)
.width=iif(left2>left1,left2-left1,left1-left2)
end with
Gruß
Rudi
Anzeige
AW: Shapes - Linie zeichnen zw zwei Punkten
06.09.2022 13:54:11
Daniel
Hallo Rudi und Fennek
vielen Dank für eure Antworten.
inzwischen habe ich herausgefunden, wie das Formatübertragen zwischen zwei Shapes funktioniert, nämlich mit :

Shapes(1).PickUp
Shapes(2).Apply
so dass ich diese Methode in Verbindung mit Neuzeichnen verwenden werde.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige