Probleme bei Loop-Erstellung (Code funktioniert)
26.11.2015 06:09:12
Tanja
ich bin noch neu bei VBA und möchte gerne einen Chart dynamisch anpassen.
Dazu habe ich folgenden Code erstellt (s. Beispieldatei), der soweit auch funktioniert.
Kann mir jemand sagen, wie ich diesen Code besser, d.h. kürzer schreiben kann (z.B. als Loop), damit ich hier nicht jede Zeile einzeln erfassen muss - sowohl für die X-Achse (Series, als) auch für die Y-Achse (Category) ?
Vielen Dank im Voraus für Eure Hilfe.
Beispiel-Datei:
https://www.herber.de/bbs/user/101811.xlsm
Mein Code:
Option Explicit
Sub UpdateChart()
' Keyboard Shortcut: Ctrl+u
Dim varSeries1 As String
Dim varSeries2 As String
Dim varSeries3 As String
Dim varSeries4 As String
Dim varSeries5 As String
Dim varCategory1 As String
Dim varCategory2 As String
Dim varCategory3 As String
Dim varCategory4 As String
Dim varCategory5 As String
Dim varCategory6 As String
Dim varCategory7 As String
varSeries1 = Worksheets(1).Range("A3").Value
varSeries2 = Worksheets(1).Range("A4").Value
varSeries3 = Worksheets(1).Range("A5").Value
varSeries4 = Worksheets(1).Range("A6").Value
varSeries5 = Worksheets(1).Range("A7").Value
varCategory1 = Worksheets(1).Range("C1").Value
varCategory2 = Worksheets(1).Range("D1").Value
varCategory3 = Worksheets(1).Range("E1").Value
varCategory4 = Worksheets(1).Range("F1").Value
varCategory5 = Worksheets(1).Range("G1").Value
varCategory6 = Worksheets(1).Range("H1").Value
varCategory7 = Worksheets(1).Range("I1").Value
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.FullSeriesCollection(1).IsFiltered = varSeries1
ActiveChart.FullSeriesCollection(2).IsFiltered = varSeries2
ActiveChart.FullSeriesCollection(3).IsFiltered = varSeries3
ActiveChart.FullSeriesCollection(4).IsFiltered = varSeries4
ActiveChart.FullSeriesCollection(5).IsFiltered = varSeries5
ActiveChart.ChartGroups(1).FullCategoryCollection(1).IsFiltered = varCategory1
ActiveChart.ChartGroups(1).FullCategoryCollection(2).IsFiltered = varCategory2
ActiveChart.ChartGroups(1).FullCategoryCollection(3).IsFiltered = varCategory3
ActiveChart.ChartGroups(1).FullCategoryCollection(4).IsFiltered = varCategory4
ActiveChart.ChartGroups(1).FullCategoryCollection(5).IsFiltered = varCategory5
ActiveChart.ChartGroups(1).FullCategoryCollection(6).IsFiltered = varCategory6
ActiveChart.ChartGroups(1).FullCategoryCollection(7).IsFiltered = varCategory7
End Sub
LG,
Tanja