Anzeige
Archiv - Navigation
1432to1436
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

Y-Achse Min-Wert definieren

Y-Achse Min-Wert definieren
23.06.2015 09:56:41
Marc-mag
Hallo Zusammen,
ich möchte den Min-Wert einer Y-Achse über einen zuvor errechneten Wert definieren und schaffe es einfach nicht. Bin bereits auf viele Beiträge gestoßen, die aber alle auf eine VBA Lösung hinaus laufen. Prinzipiell ist es mir egal, ob es eine Excel-Funktion oder eine VBA Lösung ist, Hauptsache es funktioniert endlich.
Hier mein Problem:
Ich habe ein Diagramm in ein separates Arbeitsblatt verschoben. In dieses Arbeitsblatt habe ich ein zweites Diagramm verschoben. Der Grund dafür ist, dass ich die beiden Grafiken in einem Arbeitsblatt untereinander mit einer Legende dazwischen darstellen möchte, um sie direkt ausdrucken zu können. zudem musste ich manuell noch eine Legende erstellen, die ich nicht mehr verschieben will.
Jetzt sollen beide Diagramme automatisch den jeweils kleinsten zugehörigen Wert des Diagramms angepasst werden, die zuvor berechnet wurden.
Wunderschön wäre eine simple Lösung, in der ich in die Eigenschaften des Diagramms gehen könnte, und der Y-Achse für den Min-Wert einfach einen Zellenwert zuweisen könnte. Das funktioniert anscheinend aber nicht.
Die Lösung mit Bereich.Verschieben ist zwar eine ganz nette Idee, aber dadurch das die Werte sehr unterschiedlich sein können, habe ich kein Tabellen, die die einzelnen Intervalle definieren könnten, da die Datenbasis dynamisch ist und von der Dateneingabe abhängt. Die Dateneingabe wird wahrscheinlich mehrere Hundert Zeilen haben...
Deswegen bin ich auf VBA umgestiegen. Für das "Hauptdiagramm" (das Diagramm, aus dem das Arbeitsblatt eigl besteht) funktioniert das gut:

Sub xy
Sheets("Darstellung").Select
ActiveChart.Axes(xlValue).MinimumScale = Worksheets("Darstellungsvorbereitung").Cells(29, 2). _
Value
// Zelle (29,2) enthält den ausgerechneten Min-Wert, bei dem die Y-Achse beginnen soll
End Sub

Jetzt fängt aber die Krux mit der VBA-Lösung an. Denn bei dem Diagramm im Diagramm funktioniert das nicht. Mit dem Makrorec habe ich mal eine manuelle Skalierung aufgenommen. Dabei wird mir der Name des zweiten Diagramms aufgezeigt:
ActiveSheet.ChartObjects("Diagramm 464").Activate
Verwende ich diesen Befehl, um die Funktion ".MinimumScale..." aufzurufen, wird mir ein Fehler bei der Benennung angezeigt. Das Diagramm wird anscheinend nicht gefunden...
Anfangs hatte ich gehofft eine Lösung zu finden, indem ich dem zweiten Diagramm ein Makro zuweise. Dummer weiße kann ich, dadurch das ich das zweite Diagramm nicht aufrufen kann, das Diagramm im Diagramm nicht ansprechen. Schreibe ich also

Sub yz
ActiveChart.Axes(xlValue).MinimumScale = Worksheets("Darstellungsvorbereitung").Cells(28, 2).   _
_
_
Value
End Sub

wird wieder das erste Diagramm skaliert.
Ich hoffe ihr könnt mir weiterhelfen!
Vielen Danke!
Grüße,
Marc

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Y-Achse Min-Wert definieren
23.06.2015 20:32:26
fcs
Hallo Marc,
probier es mal mit folgendem Makro.
Gruß
Franz
Sub Diagrammachsen_Formatieren()
Dim objChart As Chart
Set objChart = Sheets("Darstellung")
With objChart
.Axes(xlValue).MinimumScale = Worksheets("Darstellungsvorbereitung").Cells(29, 2).Value
'// Zelle (29,2) enthält den ausgerechneten Min-Wert, bei dem die Y-Achse beginnen soll
With .ChartObjects(1).Chart
.Axes(xlValue).MinimumScale = Worksheets("Darstellungsvorbereitung").Cells(28, 2). _
Value
End With
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige