PDA

Vollständige Version anzeigen : Automatisches Skalieren der y-Achse von Diagrammen


Wenqu
21.02.2008, 12:11
Guten Tag,
ich habe in meinem Exceldokument einige Diagramme untergebracht in denen Tag für Tag neue Daten hinzukommen. Nun möchte ich das das Diagramm die y-Achse automatisch skalieren tut, da es mir nicht möglich ist das über das
http://www.ms-office-forum.net/forum/showthread.php?t=148492 zu machen.

Gibt es da keine vorgefertigte Methode in VBA?

MfG
Klaus

IngGi
21.02.2008, 14:44
Hallo Klaus,

folgende beiden Zeilen setzen die Datenquelle des ersten, in das Tabellenblatt "Tabelle1" eingebetteten Diagrammes auf "Tabelle1!A1:A3" fest:
ThisWorkbook.Sheets("Tabelle1").ChartObjects(1).Activate
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("A1:A3")
Gruß Ingolf

popcornkaninchen
23.02.2008, 18:34
Ich würde es so machen, undzwar für jede der beiden möglichen Y-Achsen. Denn eines ist sicher mit einer Y-Achse kommt man nicht auf Dauer aus.
Also jeweils ein Butto für den Max-Wert und einen weiteren für die Feinstufung. Insgesamt 4 SpinButtons unter dem Diagramm.

Private Sub SpinButton1_SpinDown()
Dim lngMax As Long
Dim C As Chart
Dim O As Object
On Error GoTo Errorhandler
Set C = ActiveSheet.ChartObjects(1).Chart
Set O = C.Axes(xlValue)
lngMax = 100
With O
.MinimumScale = 0
.MaximumScale = O.MaximumScale - lngMax
End With
Exit Sub
Errorhandler:
MsgBox "Zurück in die andere Richtung"""
End Sub

Private Sub SpinButton1_SpinUp()
Dim lngMax As Long
Dim C As Chart
Dim O As Object
On Error GoTo Errorhandler
Set C = ActiveSheet.ChartObjects(1).Chart
Set O = C.Axes(xlValue)

lngMax = 100
With O
.MinimumScale = 0
.MaximumScale = O.MaximumScale + lngMax
End With
Exit Sub
Errorhandler:
MsgBox "BlaBla:) "
End Sub