Zum dynamischen Erzeugen von Diagrammen, muss man manchmal dynamischen Ranges aufbauen, wenn z.B: Zeilen ausgelassen werden sollen, weil diese einen Nullwert oder sonstiges enthalten. Dann kann mit der folgenden Funktion die XValues-Range erzeugt werden aus den zuvor bestimmten Zeilennummern:
Function getRange(ByVal spaltenBuchstabe, ByVal zeilenNummern, ByVal anzahlDaten) As String getRange = "=" For i = 0 To anzahlDaten - 1 getRange = getRange & "'SheetName'!$" & spaltenBuchstabe& "$" & zeilenNummern(i) & ":$" & spaltenBuchstabe& "$" & zeilenNummern(i) If Not i >= anzahlDaten - 1 Then getRange = getRange & "," End If Next rangeString = rangeString & "" End Function rangeDaten = getRange("B", zeilenNummern, anzahlDaten) ActiveChart.SeriesCollection(1).Values =rangeDaten