Diagramm-Skalierung per VBA ändern

Excel skaliert die Größenachse (Y-Achse) bei einem Diagramm standardmäßig automatisch. Natürlich kann der Maxi- und Min-Wert auch manuell für das Diagramm vorgegeben werden. Dieses Beispiel zeigt, wie die Skalierung der Größenachse per VBA geändert werden kann.

Fügen Sie zunächst ein beliebiges Diagramm auf einem Excel-Tabellenblatt ein. In diesem Beispiel gehen wir davon aus, dass es das erste Diagramm ist und somit automatisch den Namen Diagramm 1 erhält.

Erstellen Sie anschließend einen Scroll-Balken (Bildlaufleiste) auf dem Tabellenblatt, welcher mit der Zelle H19 verlinkt wurde. Das bedeutet, dass der auf dem Scroll-Balken eingestellt Wert in Zelle H19 ausgegeben wird. Den Dialog zur Zellverknüpfung öffnen Sie über einen Rechtsklick auf das Steuerelement und den Befehl Steuerelement formatieren. Das Dialogfenster mit Zuweisung der entsprechenden Zellverknüpfung sehen Sie in Abbildung 1.


Abbildung 1

Nachdem Sie das Steuerelement eingefügt haben und die Zellverknüpfung durchgeführt haben, wird der VBA-Code in einem Code-Modul erfassen.

Sub Skalierung()
'** Größenachse verändern

'** Diagramm 1 aktivieren
ActiveSheet.ChartObjects("Diagramm 1").Activate

'** Größenachse ändern
With ActiveChart.Axes(xlValue)
  .MaximumScale = ActiveSheet.Range("H19")
  .MinimumScale = 0
End With

End Sub

Damit der Code bei Änderung der Bildlaufleiste ausgeführt wird, müssen Sie das Steuerelement noch mit dem VBA-Code verbinden. Führen Sie dazu einen Rechtsklick auf das Steuerelement aus und klicken Sie auf den Befehl  Makro zuweisen. Wählen Sie anschlie0end das Makro Skalierung aus und bestätigen Sie das Dialogfenster mit einem Klick auf die Schaltfläche OK. Damit wurde das Makro dem Steuerelement zugewiesen.

Sobald Sie nun die Bildlaufleiste verändern, wird die Größenachse des Diagramms entsprechend angepasst, siehe Abbildung 2.


Abbildung 2

Die Beispieldatei können Sie über den nachfolgenden Link herunterladen.

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.