Achsgrenzwerte setzen mit Makro

07/02/2010 - 10:15 von Uli Schoch | Report spam
Hallo
Ich habe mit Excel 2007 ein XY-Diagramm gemacht mit ziemlich vielen Daten.
Damit ich die im Detail ansehen kann, gebe ich von Hand den unteren und
oberen Wert der X-Achse ein. Dann möchte ich mit einem Makro, der mit einer
Schaltflàche aufgerufen wird, den Ansichtsbereich verschieben.
z.B.
Vorher Anzeige vom 1.1.2009 12:00 bis 2.1.2009 12:00
Nachher Anzeigen von 2.1.2009 12:00 bis 3.1.2009 12:00

also bei jedem Klick einen Tag weiter bis zum Ende der Daten, z.B. Ende
Monat
Das wollte ich mit folgendem Makro machen:

Sub Seitevor()
Dim d1 As Range, d2, diff As Range
Dim Diagramm As Chart

Set Diagramm = Sheets("Diagramm1")
Application.ScreenUpdating = False ' Neu anzeigen erst am Schluss
d1 = Diagramm.Axes(xlCategory).MaximumScale ' Sollte untere Wert der
X-Chse sein
d2 = Diagramm.Axes(xlCategory).MinimumScale ' Oberer Wert
diff = d1 - d2
Diagramm.Axes(xlCategory).MaximumScale = d1 + diff ' Neuer oberer Wert
Diagramm.Axes(xlCategory).MinimumScale = d2 + diff ' Neuer untere Wert
Application.ScreenUpdating = True ' Neu anzeigen ein

End Sub

Das geht aber nicht. Bei Zeile "d1=..." kommt die Fehlermeldung
"Objektvariable oder With-Blockvariable nicht festgeleg". Die Schalflàche
ist auf dem Diagrammblatt.
Warum gehts nicht?

Gruss
Uli
 

Lesen sie die antworten

#1 Andreas Killer
07/02/2010 - 12:50 | Warnen spam
Uli Schoch schrieb:

Sub Seitevor()
Dim d1 As Range, d2, diff As Range
Dim Diagramm As Chart

Set Diagramm = Sheets("Diagramm1")
Application.ScreenUpdating = False ' Neu anzeigen erst am Schluss
d1 = Diagramm.Axes(xlCategory).MaximumScale ' Sollte untere Wert der


...
Das geht aber nicht. Bei Zeile "d1=..." kommt die Fehlermeldung
"Objektvariable oder With-Blockvariable nicht festgeleg". Die
Schalflàche ist auf dem Diagrammblatt.
Warum gehts nicht?


Weil d1 Nothing ist, Du hast dem Range keine Zelle zugeordnet.

BTW, man kann den Ansichtsbereich auch dynamisch verschieben, z.B. mit
der Maustaste auf eine Achse klicken und bewegen, Shift dabei drücken
und zoomen und sollche Sachen. Ich hàtte da ein Add-In welches aber
noch im Beta-Stadium ist...

Andreas.

Ähnliche fragen