Hallo Leute ich habe eine Frage,
ich habe eine Tabelle in Excel erstellt die inerhalb eines Blattes sehr viele Diagramme enthält. Dabei greifen immer 3 Diagramme auf eine Ergebniss-Datei eines anderen Blattes zu.
Beispiel: ich habe gemessen Niederschlagsdaten und möchte jetzt 3 versch. Parameter darstellen. Und insgesamt habe ich 10 versch. Messungen. Nun möchte ich die Achsen der Diagramme per Makro skalieren. (x-Achse enthält das Datum, y-Achse absolute Werte). Für ein einzelnes Diagramm habe ich das hinbekommen, kann es jedoch nicht mittels einer Schleife erweitern. Ich möchte also das Diagramm 1 in Abhängingkeit von Maximal-Werten aus Blatt 2, Zeile W3 skaliert. Diagramm 2 in Abhängingkeit von Maximal-Werten aus Blatt 2, Zeile W4 und Diagram 3 in Abhängingkeit von Maximal-Werten aus Blatt 2, Zeile W5. Diagramm 4 bis 6 sollen in Abhängingkeit von Maximal-Werten aus Blatt 3, Zeile W3-W5 skalieren.
Mir ist nicht klar, wie ich per For-Schleife auf die einzelnen Diagramme zugreifen kann.
Anbei mal das Beispiel wie ich das bisher angefangen habe. Nur bei 30 oder mehr Diagrammen wird das doch sehr umfangreich, daher bin ich auf de Suche nach einer Schleifen-Programmierung.
'Diagramm1
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MaximumScale = Worksheets("01").Range("W3")
.MinimumScale = 0
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MaximumScale = Worksheets("01").Range("B5")
.MinimumScale = Worksheets("01").Range("B3")
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
'Diagramm2
ActiveSheet.ChartObjects(2).Activate
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MaximumScale = Worksheets("01").Range("W3")
.MinimumScale = 0
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MaximumScale = Worksheets("01").Range("B5")
.MinimumScale = Worksheets("01").Range("B3")
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
'Diagramm3
ActiveSheet.ChartObjects(3).Activate
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MaximumScale = Worksheets("01").Range("W3")
.MinimumScale = 0
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MaximumScale = Worksheets("01").Range("B5")
.MinimumScale = Worksheets("01").Range("B3")
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
'Diagramm4
ActiveSheet.ChartObjects(4).Activate
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MaximumScale = Worksheets("02").Range("W3")
.MinimumScale = 0
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MaximumScale = Worksheets("02").Range("B5")
.MinimumScale = Worksheets("02").Range("B3")
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.DisplayUnit = xlNone
End With
|