Hi Markus,
Dim chtChart As Chart
Set chtChart = Charts.AddWith Worksheets("Daten")
lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngZ > lngZeile Then lngZeile = lngZEnd With
MsgBox (lngZ)With chtChart
.Name = chart_name
.ChartType = xlXYScatterLines
.SetSourceData Source:=Sheets("Daten").Range("B12:B" & lngZeile), _
PlotBy:=xlColumns
.HasTitle = True
.ChartTitle.Text = "=Sheet1!R1C2"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Month"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Sales"
End With
damit wird ja ein neues Diagrammblatt erzeugt. Das heißt, wenn Du ein gleichnamiges bestehendes Blatt überschreiben möchtest, musst Du das alte Blatt löschen. Das kannst Du z. B. so:
For Each objDia In Sheets
If objDia.Name = chart_name Then
Application.DisplayAlerts = False
objDia.Delete
Application.DisplayAlerts = True
End If
Next
Wenn Du von außen auf die Mappe zugreifst, musst Du nur noch die Objekte vervollständigen.
Viele Grüße
Jörg