Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Automatisierung Range Balkendiagramm

Automatisierung Range Balkendiagramm
17.07.2017 13:49:17
heiko
Hallo zusammen,
ich habe ein Balkendiagramm erstellt mit 2 X-Achsen. Jetzt soll der Diagrammbereich per VBA angepasst warden, sobald sich die Anzahl der anzuzeigenden Zeilen ändert.
Dazu verwende ich folgenden Code (Ausschnitt):
Sub Chart_anpassen()
Dim Chart_MinScale As Double
Dim Chart_MaxScale As Double
Dim Chart_CrossesAt As Double
Dim Zielzelle As Double
Dim Endzeile As Double
Dim Startzeile As Double
Dim Prüfspalte As Double
Dim i As Double
Dim leer As Double
Prüfspalte = 3
Startzeile = 10
Endzeile = 0
i = 0
leer = 0
Chart_MinScale = Cells(3, 12).Value
Chart_MaxScale = Cells(4, 12).Value
Chart_CrossesAt = Cells(5, 12).Value
Endzeile = Cells(6, 12).Value
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range("Charter!$C$9:$G$" & Endzeile)
ActiveChart.Axes(xlValue, xlSecondary).MinimumScale = Chart_MinScale
ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = Chart_MaxScale
ActiveChart.Axes(xlValue, xlSecondary).CrossesAt = Chart_CrossesAt
ActiveChart.Axes(xlValue).MinimumScale = Chart_MinScale
ActiveChart.Axes(xlValue).MaximumScale = Chart_MaxScale
ActiveChart.Axes(xlValue).CrossesAt = Chart_CrossesAt
Cells(1, 1).Activate
End Sub
Dies funktioniert soweit ganz gut. Wenn ich jetzt aber 4 oder weniger Zeilen im Balkendiagramm anzeigen möchte, dann vertauscht Excel X und Y-Achse.
Frage: Wie kann ich das automatische Tauschen von x- und y-Achse unterbinden? Dazu habe ich z.B. folgenden Code gefunden: ActiveChart.PlotBy = xlColumns
Dies führt leider nicht zum Erfolg. Hat jemand eine Idee?
Danke
Heiko
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisierung Range Balkendiagramm
17.07.2017 14:12:39
Beverly
Hi Heiko,
lade deine Mappe mit dem Diagramm und den Daten hoch.


AW: Automatisierung Range Balkendiagramm
17.07.2017 16:27:14
Beverly
Versuche es mal so:
    Chart_MinScale = Cells(3, 11).Value
Chart_MaxScale = Cells(4, 11).Value
Chart_CrossesAt = Cells(5, 11).Value
Endzeile = Cells(6, 12).Value
With ActiveSheet.ChartObjects("Chart 1").Chart
.SetSourceData Source:=Range("Test!$C$9:$G$" & Endzeile), PlotBy:=xlColumns
With .Axes(xlValue, xlSecondary)
.MinimumScale = Chart_MinScale
.MaximumScale = Chart_MaxScale
.CrossesAt = Chart_CrossesAt
End With
With .Axes(xlValue)
.MinimumScale = Chart_MinScale
.MaximumScale = Chart_MaxScale
.CrossesAt = Chart_CrossesAt
End With
End With


Anzeige
AW: Automatisierung Range Balkendiagramm
17.07.2017 16:35:18
heiko
Hallo Karin,
super, das funktioniert, vielen Dank für die Hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige