03.09.2024, 05:49
Hallo!
Ich möchte einen Teil des VBA Codes, der in einem CommandButton steht in ein Modul schreiben.
In der Praxis ist das nur ein Teil der gesamten Aufgabe.
In der Tabelle Skizze ist ein XY Diagramm das Seitenansichten zeichnet.
Dieser Teil hier erstellt eine horizontale Mittellinie.
Jetzt habe ich ein Modul eingefügt und das Modul: MITTELLINIE genannt.
In dem Modul ist die Prozedur: ZeichneMittellinie().
Mit Call ZeichneMittellinie rufe ich die Prozedur auf.
Was muss ich abändern , damit die Linie im Diagramm gezeichnet wird?
Danke
Gruß Frank
Ich möchte einen Teil des VBA Codes, der in einem CommandButton steht in ein Modul schreiben.
In der Praxis ist das nur ein Teil der gesamten Aufgabe.
In der Tabelle Skizze ist ein XY Diagramm das Seitenansichten zeichnet.
Dieser Teil hier erstellt eine horizontale Mittellinie.
Code:
'Mittellinie
If Worksheets("Skizze").MittellinieCheckBox.Value = True Then
Dim ylinie As Double
Dim x1linie As Double
Dim x2linie As Double
With ActiveChart.Shapes
ylinie = origin.Y
x1linie = origin.X + Worksheets("Skizze").Range("E29").Value * panel_scale
x2linie = origin.X + Worksheets("Skizze").Range("G29").Value * panel_scale
Set shp = .AddLine(x1linie, ylinie, x2linie, ylinie)
shp.Line.ForeColor.RGB = RGB(0, 0, 0)
shp.Line.Weight = 1 ' Linienstärke anpassen
shp.Line.DashStyle = msoLineDashDot
End With
End If
In dem Modul ist die Prozedur: ZeichneMittellinie().
Mit Call ZeichneMittellinie rufe ich die Prozedur auf.
Code:
Sub ZeichneMittellinie()
With ThisWorkbook.Worksheets("Skizze")
panel_scale = 0.050124
Dim ylinie As Double
Dim x1linie As Double
Dim x2linie As Double
Worksheets("Skizze").ChartObjects("Sketch").Activate
With ActiveChart.Shapes
origin.Y = 0
origin.X = 30
ylinie = origin.Y
x1linie = origin.X + Worksheets("Skizze").Range("E29").Value * panel_scale
x2linie = origin.X + Worksheets("Skizze").Range("G29").Value * panel_scale
Set shp = .AddLine(x1linie, ylinie, x2linie, ylinie)
shp.Line.ForeColor.RGB = RGB(0, 0, 0)
shp.Line.Weight = 1 ' Linienstärke anpassen
shp.Line.DashStyle = msoLineDashDot
End With
End With
End Sub
Danke
Gruß Frank