Thema Datum  Von Nutzer Rating
Antwort
Rot VBA-Makro Diagramm Skalierung
06.12.2018 14:34:26 Annika
NotSolved
06.12.2018 15:37:28 ugor
NotSolved
06.12.2018 15:50:44 Gast96025
NotSolved
06.12.2018 16:06:49 ugor
NotSolved
06.12.2018 16:26:35 Annika
NotSolved
06.12.2018 16:56:10 ugor
NotSolved
07.12.2018 09:03:16 Annika
NotSolved
07.12.2018 09:06:33 Gast27850
NotSolved
07.12.2018 13:54:19 ugor
NotSolved

Ansicht des Beitrags:
Von:
Annika
Datum:
06.12.2018 14:34:26
Views:
26
Rating: Antwort:
  Ja
Thema:
VBA-Makro Diagramm Skalierung

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

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA-Makro Diagramm Skalierung
06.12.2018 14:34:26 Annika
NotSolved
06.12.2018 15:37:28 ugor
NotSolved
06.12.2018 15:50:44 Gast96025
NotSolved
06.12.2018 16:06:49 ugor
NotSolved
06.12.2018 16:26:35 Annika
NotSolved
06.12.2018 16:56:10 ugor
NotSolved
07.12.2018 09:03:16 Annika
NotSolved
07.12.2018 09:06:33 Gast27850
NotSolved
07.12.2018 13:54:19 ugor
NotSolved