in diesem Beitrag aus 2009
https://www.herber.de/forum/archiv/ _
1108to1112/1108749_zeichnen_in_excel_abhaengig_von_daten.html
hat Christian eine ganz tolle Lösung geschrieben mit der man die Länge/Form und Winkel von _
Linien in Abhängigkeit von Zellinhalten erstellen lassen kann.
Kann mir bitte jemand sagen, wie man den Bereich in dem das VBA Script nach Werte sucht auf die _
_
Zeilen 1-10 beschränken kann?
Ich möchte gerne unter der Tabelle noch Werte eingeben können (Zahlen), dies geht jetzt nicht, _
_
denn sobald unterhalb der Zeile 6 irgend etwas steht, gibt es einen Laufzeitfehler.
Vielen Dank schon vorab!
Viele Grüße
Detlef
hier das Script von ihm aus 2009:
Option Explicit
Sub DrawLines()
Dim sh As Shape, intStyle%, i&
Dim sngBeginX!, sngBeginY!, sngEndX!, sngEndY!
Dim sngLen!, sngAng!, sngWght!
Dim blnBeginArrow As Boolean, blnEndArrow As Boolean
With Sheets("Tabelle2")
For Each sh In .Shapes
If sh.Name Like "Line*" Then sh.Delete
Next
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
sngBeginX = .Cells(i, 1)
sngBeginY = .Cells(i, 2)
sngLen = .Cells(i, 3)
sngAng = .Cells(i, 4) / 180 * Application.Pi
sngEndX = sngBeginX + sngLen * Cos(sngAng)
sngEndY = sngBeginY - sngLen * Sin(sngAng)
blnBeginArrow = .Cells(i, 5)
blnEndArrow = .Cells(i, 6)
sngWght = .Cells(i, 7)
intStyle = .Cells(i, 8)
Set sh = .Shapes.AddLine(sngBeginX, sngBeginY, sngEndX, sngEndY)
If blnBeginArrow Then
sh.Line.BeginArrowheadStyle = msoArrowheadTriangle
sh.Line.BeginArrowheadWidth = msoArrowheadWidthMedium
sh.Line.BeginArrowheadLength = msoArrowheadLengthMedium
End If
If blnEndArrow Then
sh.Line.EndArrowheadStyle = msoArrowheadTriangle
sh.Line.EndArrowheadWidth = msoArrowheadWidthMedium
sh.Line.EndArrowheadLength = msoArrowheadLengthMedium
End If
sh.Line.Weight = sngWght
sh.Line.DashStyle = intStyle
sh.Line.Visible = msoTrue
Next
End With
End Sub