Hallo alle Zusammen,
ich versuche gerade mehrere Diagramme mit verschiedenen Daten zu füllen. Es gibt insgesamt 3 verschiedene Tabellenblätter, jedes dieser Blätter soll ein Diagramm enthalten. Beim ersten durchlauf fürs erste Blatt geht alles gut. Beim zweiten kommt ein Fehler. Hier der Code der Funktion:
Private Function DiagrammErstellen(sTabellenName As String, iChartNr As Integer)
Dim iAnzahlSpalten As Variant
Dim iZeile, iSpalte As Integer
Dim i As Integer: i = 0
iZeile = 9
iSpalte = 1
iAnzahlSpalten = Cells(1, Columns.Count).End(xlToLeft).Column
ThisWorkbook.Worksheets(sTabellenName).Activate
ActiveSheet.Shapes.AddChart2(, xlLine, , , 700, 500).Select
Application.CutCopyMode = False
'Diagramm auffüllen mit Werte aus Signalspalten
For i = 1 To iAnzahlSpalten
ActiveSheet.ChartObjects(iChartNr).Chart.SeriesCollection.NewSeries
ActiveSheet.ChartObjects(iChartNr).Chart.FullSeriesCollection(i).Values = range(Cells(iZeile, iSpalte), Cells(9, iSpalte).End(xlDown))
iSpalte = iSpalte + 1
Next i
End Function
Der Fehler wird mir beim debuggen in der dickgeschriebenen Zeile angezeigt.
Hier der Abschnitt der Hauptprozedur, in dem die Funktion aufgerufen wird:
Dim c As Integer
For c = 3 To ActiveWorkbook.Worksheets.Count 'Bei 3 anfangen, da erstes Signalspalten-Blatt an 3. Stelle ist
Debug.Print DiagrammErstellen(Worksheets(c).Name, c - 2)
Next c
Hier noch ein Screenshot, wie das Ergebnis im ersten Durchlauf aussieht (Markierte Blätter sind die, in denen die Diagramme reinkommen):
Hier der zweite Durchlauf mit dem Fehler:
Ich bin jetzt schon dankbar für eure Hilfe.
Mit freundlichen Grüßen,
Eyyub
|