Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
VBA Code aus CommandButton in Modul einfügen
#1
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
Zitieren
#2
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.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions