Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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

Linien miteinander verknüpfen

Linien miteinander verknüpfen
11.08.2016 10:24:38
Mr.
Hallo zusammen,
Situation:
Ich möchte zwei Linien mit einer definierten Länge zu einem Polygon zusammenfügen.
Zuerst soll Linie 1 erzeugt werden. Diese wird anschließend gedreht.
Das gleiche wird mit Linie 2 gemacht.
Nun soll der Endpunkt von Linie 1 mit .Width + .Left und .Height + .Top ermittelt werden.
Linie 2 soll nun über .Left und . Top an den Endpunkt von Linie 1 verschoben werden.
Problem:
Linie 1 wird bei der Erzeugung mit den Informationen zum Start- und Endpunkt abgelegt. Diese werden allerdings nach einer Drehung beibehalten, sodass sich der so entstandene neue Endpunkt an anderer Stelle befindet.
Code:

Sub Test()
Dim staright_line As Shape
Dim staright_line1 As Shape
Dim X1, X2, Y1, Y2
Set staright_line = ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 123, 89. _
5714173228, _
160, 120)
staright_line.Rotation = 50
With staright_line
X2 = .Width + .Left
Y2 = .Height + .Top
End With
Set staright_line1 = ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 123, 89. _
5714173228, _
160, 120)
staright_line1.Rotation = 50
With staright_line1
X1 = X2
Y1 = Y2
End With
End Sub
Ziel:
Ich suche nun nach einer Möglichkeit die Informationen einer Linie nach einer Drehung zu aktualisieren. Eine Neuberechnung der Positionen ist zwar möglich, aber an der Stelle, sollte es eine Möglichkeit geben die Werte zu aktualisieren, völlig überflüssig.
Hat einer von Euch eine Lösung?
Viele Grüße
Mr. Visit

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Linien miteinander verknüpfen
11.08.2016 10:41:49
Rudi
Hallo,
warum drehst du die Linien und fügst sie nicht direkt richtig ein?
Gruß
Rudi
AW: Linien miteinander verknüpfen
11.08.2016 10:50:55
Mr.
Hallo,
Zusatz:
Die Linien des Polygonzugs werden vorher in einer Tabelle mit Länge und Winkel angegeben.
So definiere ich erst die Linie in ihrer Länge und führe dann die Drehung aus.
Würde ich die Linie direkt in gedrehter Position erstellen bin ich wieder am rechnen.
Gruß,
Mr. Visit
AW: Linien miteinander verknüpfen
11.08.2016 10:57:41
Rudi
Hallo,
mit Länge und Winkel angegeben
dann musst du ohnehin rechnen, denn du hast beim Einfügen keine Möglichkeit Länge und Winkel anzugeben.
Gruß
Rudi
AW: Linien miteinander verknüpfen
11.08.2016 11:10:24
Mr.
Hallo,
beim Einfügen keine Möglichkeit Länge und Winkel anzugeben.
Die Länge kann ich definieren:
'Straight line
Set staright_line = ws.Shapes.AddConnector(msoConnectorStraight, lx_start, _
ly_start, lx_start + lline_length, ly_start)
Dann möchte ich die Linie drehen und die neuen Eckpunkte für den Beginn der nächsten Linie bestimmen.
Das machen ich dann mit .Top etc. Dafür ich die aktualisierten Werte der Linie.
Anzeige
AW: Linien miteinander verknüpfen
11.08.2016 12:46:10
Mr.
@ Rudi
Du hattest Recht. Ich habe das jetzt berechnet. Ist einfach und sieht auch vom Code O.K. aus.
Sub Test()
Dim staright_line As Shape
Dim staright_line1 As Shape
Dim x1, x2, y1, y2, l, Angle
' Define Angle and length
l = 100
Angle = 50
' Define start of the line
x1 = 400
y1 = 400
' Calculate end of the line
x2 = x1 + l * Cos(Angle)
y2 = y1 + l * Sin(Angle)
' Draw line
Set staright_line = ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x1, y1, x2,  _
y2)
x1 = x2
y1 = y2
x2 = x1 + l * Cos(Angle)
y2 = y1 + l * Sin(Angle)
Set staright_line1 = ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x1, y1, x2,  _
y2)
End Sub
Danke!
Anzeige
Vorsicht!!!
11.08.2016 12:48:49
Rudi
Hallo,
sin/ cos brauchen Winkel im Bogenmaß
Ergo: Angle = 50 * Worksheetfunction.Pi()/180
Gruß
Rudi
AW: Vorsicht!!!
11.08.2016 12:57:40
Mr.
Stimmt!
keine Chance
11.08.2016 12:42:00
Rudi
Hallo,
die Eigenschaften Width und Height ändern sich durch die Drehung nicht.
Du musst also rechnen.
Aber dafür ist Excel schließlich da.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige