Ich möchte per Makro ein Diagramm erstellen. Das ist soweit nicht das Problem. Allerdings habe ich eine dynamischen/variablen Bereich, der sowohl in Zeilen-Richtung als auch in Spalten-Richtung erweitert wird. Nun möchte ich nicht bei jeder Änderung Hand anlegen und den Bereich neu definieren. Mein Code sieht wie folgt aus:
Sub Diagramm_erstellen()
Dim ber_dia As Range
Dim i As Integer
With Sheets("Tabelle1")
For i = 1 To .UsedRange.Columns.Count
Dim ber(i) As Range
Set ber(i) = Range(.Cells(3, i), Cells(65000, i).End(xlUp))
Set ber_dia = Union(ber_dia, ber(i))
Next i
ber_dia.Select
End With
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=ber_dia, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Auswertung"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Datum"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Leistung"
.SeriesCollection(2).Select
.SeriesCollection(2).ChartType = xlLine
End With
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlCategoryScale
End Sub
Die Ergänzung von neuen Zeilen stellt kein Problem dar, jedoch die Ergänzung von Spalten. ich habe das mit einer Schleife versucht, allerdings kommt immer eine Fehlermeldung, in Bezug auf
Dim ber(i) As Range
. Ich weis, dass ich den kompletten Datenbereich auch über CurrentRegion erfassen könnte. Da ich aber noch mehr Diagramme erstellen möchte, die nicht alle Spalten erfassen, wäre ich für einen entsprechenden Lösungsansatz sehr dankbar!
Gruß Peter