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

VBA Linienlänge abhängig von Zellwerten -

VBA Linienlänge abhängig von Zellwerten -
05.09.2018 09:35:19
Zellwerten
Hallo liebe Forenmitglieder,
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


		

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Linienlänge abhängig von Zellwerten -
05.09.2018 09:50:01
Zellwerten
Hallo Detlef,
statt
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row

das
For i = 1 To 10
Gruß Werner
AW: VBA Linienlänge abhängig von Zellwerten -
05.09.2018 09:51:51
Zellwerten
Hallo
ungetestet und ohne den ganzen Code studiert zu haben...
aus         For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
mache       For i = 1 To 10

LG UweD
AW: VBA Linienlänge abhängig von Zellwerten -
05.09.2018 10:14:40
Zellwerten
Hallo Werner, Hallo Uwe,
erst einmal vielen Dank für die ultraschnelle Reaktion.
Leider habe ich dann eine Fehlermeldung:
Userbild
Ich hänge auch meine Excel datei mit an. in Tabelle1 wäre etwa der Aufbau auf dem ich weitermachen möchte, Tabelle2 funktioniert wenn ich den Originalcode von Christian verwende.
https://www.herber.de/bbs/user/123766.xlsm
Es geht um die grafische Darstellung von einem Rechteck für die Berechnung von Tunnel Beleuchtung:-)
Danke schon mal wieder vorab!
Viele Grüße aus dem Chiemgau
Detlef
Anzeige
AW: VBA Linienlänge abhängig von Zellwerten -
05.09.2018 10:37:53
Zellwerten
Hallo nochmal
du hattest geschrieben von 1 bis 10.
in 1 sind aber die Überschriften.
Datentabelle geht nur bis Zeile 6
also muss es heißen
For i = 2 To 6
LG UweD
AW: VBA Linienlänge abhängig von Zellwerten -
05.09.2018 11:07:41
Zellwerten
DANKE!
Jetzt geht es, Wahnsinn das man hier so tolle und kompetente Hilfe bekommt.
LG
Detlef

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige