Kategorien
VBA Excel

VBA Excel: dynamischen Erzeugen von Ranges für Diagramme

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