Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Achsen manuell formatieren - Bezeichner

Achsen manuell formatieren - Bezeichner
07.02.2017 10:00:00
Ulfert
Moin,
ich versuche gerade, Achsen in einem Diagramm zu formatieren. Ich habe aber den Zugriff auf das Axes-Objekt noch nicht verstanden und bekomme Fehler.
Welche Achse spreche ich hier an? Das sollte eigentlich meine sekundäre y-Achse sein:
targetchart.Axes(xlCategory, xlSecondary).MinimumScale = 12
targetchart.Axes(xlCategory, xlSecondary).MaximumScale = 20
Noch eine Frage: gibt es eine Reihenfolge, in der die Achsen gesetzt werden müssen (z.B. Minimum zuerst, dann Maximum oder erst x-, dann y-Achsen)?
Danke und Grüße, Ulfert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Achsen manuell formatieren - Bezeichner
07.02.2017 16:53:27
Beverly
Hi Ulfert,
was ist in deinem Code "targetchart", also wie ist diese Variabke definiert und wie weist du ihr den Wert zu?
Die Reihenfolge, in der du die Achsenwerte zuweist, sollte eigentlich keine Rolle spielen - dennoch ist es logischer, zuerst das Minimum und dann das Maximum zuzuweisen um möglichen Problemen aus dem Weg zu gehen. Beachten sollte man allerdings generell, dass es sinnvolle Werte sind, die man zuweist, um sich anschließend nicht wundern zu müssen dass das Diagramm anderls als gewünscht aussieht.
Die Reihenfolge der Achsen spielt definitiv keine Rolle.


Anzeige
AW: Achsen manuell formatieren - Bezeichner
08.02.2017 08:34:05
Ulfert
Hallo Karin,
targetchart ist ein Chart-Objekt, der Zugriff und das Füllen funktioniert auch.
Ich habe aber immer noch das Problem mit den Bezeichnern und vermute, dass ich eine Achse anspreche, die es nicht gibt.
Also, welches Axes-Element ist die x-Achse, welche die erste y-Achse etc.
Vielen Dank, Ulfert
VBA: Diagrammachsen ansprechen
08.02.2017 09:02:55
Beverly
Hi Ulfert,
wenn targetchart als Diagrammobjekt definiert ist, dann musst du noch auf das Diagramm selbst referenzieren, denn das Diagrammobjekt ist nur der Container (Shape), in dem das eigentliche Diagramm "aufbewahrt" ist. Um die sekundäre Horizontalachse anzusprechen muss der Code also so aussehen:
    Dim targetchart As ChartObject
Set targetchart = ActiveSheet.ChartObjects(1)
targetchart.Chart.Axes(xlCategory, xlSecondary).MinimumScale = 12
targetchart.Chart.Axes(xlCategory, xlSecondary).MaximumScale = 20

Wenn du die prinmäre Horizontalachse ansprechen willst, dann musst du den Parameter xlPrimary anstelle xlSecondary setzen. Falls es nur 1 Horizontalachse gibt, kannst du den 2. Parameter ganz weglassen.
Um die Vertikalachsen anzusprechen ersetzt du xlCategory durch xlValue. Bezüglich der Parameter für die Primär- und die Sekundärachse gilt dasselbe wie oben.


Anzeige
AW: VBA: Diagrammachsen ansprechen
08.02.2017 09:51:40
Ulfert
Hmm, soweit ist das dann richtig, was ich gemacht habe.
Trotzdem kann ich die zweite Vertikalachse nicht skalieren:

Dim targetchart As Chart
Set targetchart = ThisWorkbook.Charts(ChartName)
targetchart.ChartArea.Clear
targetchart.SetSourceData Source:=ThisWorkbook.Sheets(SettingsSheetNo).Range("A1")
targetchart.SeriesCollection.Add Source:=DataRange
targetchart.HasTitle = True
targetchart.HasLegend = True
targetchart.ChartTitle.Text = "Chart"
targetchart.SeriesCollection(1).Name = "Hallo"
targetchart.HasAxis(xlCategory, xlPrimary) = True
targetchart.HasAxis(xlValue, xlPrimary) = True
targetchart.HasAxis(xlValue, xlSecondary) = True
targetchart.Axes(xlCategory, xlPrimary).MinimumScale = 0
targetchart.Axes(xlCategory, xlPrimary).MaximumScale = 100
targetchart.Axes(xlValue, xlPrimary).MinimumScale = 0
targetchart.Axes(xlValue, xlPrimary).MaximumScale = 1
targetchart.Axes(xlValue, xlSecondary).MinimumScale = 0
targetchart.Axes(xlValue, xlSecondary).MaximumScale = 1
Führt zum Fehler. In der Überwachung steht für die zweite Vertikalachse:
Die Methode 'Axes' für das Objekt '_Chart' ist fehlgeschlagen> 
Reicht das aufrufen von HasAxis nicht? Muss die Achse zusätzlich noch definiert werden?
Viele Grüße, Ulfert
Anzeige
AW: VBA: Diagrammachsen ansprechen
08.02.2017 09:57:14
Beverly
Hi Ulfert,
an welcher Stelle im Code kommt der Fehler? Gibt es in deinem Diagramm mindestens 2 Datenreihen?


AW: VBA: Diagrammachsen ansprechen
08.02.2017 10:02:10
Ulfert
Nein, es gibt nur eine Datenreihe.
Ist die zweite Datenreihe Voraussetzung dafür, dass ich eine Achse formatieren kann?
Viele Grüße, Ulfert
AW: VBA: Diagrammachsen ansprechen
08.02.2017 10:09:19
Beverly
Selbstverständlich - ohne zweite Datenreihe keine zweite Achse.


AW: VBA: Diagrammachsen ansprechen
08.02.2017 12:45:13
Ulfert
Ok, Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige