Office-Fragen.de

Normale Version: VBA Code aus CommandButton in Modul einfügen
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.
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
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.
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
Was muss ich abändern , damit die Linie im Diagramm gezeichnet wird?
Danke
Gruß Frank
eine Linie ist ein Shapeobjekt und ein Diagramm ist auch ein Shapeobjekt. Die Linien im Diagramm sind aber Elemente des Diagrammobjektes und keine separaten Linien. 
Du kannst die Shapeobjekte aber übereinander positionieren.