Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sekundaerachse schneidet x-Achse bei 0

Forumthread: Sekundaerachse schneidet x-Achse bei 0

Sekundaerachse schneidet x-Achse bei 0
22.03.2006 22:18:03
Sonja
Hallo zusammen,
ich habe ein Problem mit einem Excel-Diagramm auf zwei Achsen.
Ich moechte, dass die Sekundaerachse die x-Achse automatisch immer bei 0 schneidet. Bei der Primaerachse funktioniert es, aber die Sekundaerachse wird immer automatisch in Abhaengigkeit von der Primaerachse gesetzt.
Manuell kann ich das einstellen (gleiches Verhaeltnis von Minimum zu Maximum wie bei der Primaerachse), da ich aber ein Diagramm habe, bei dem sich die Daten durch S-Verweis etc staendig aendern soll diese Einstellung automatisch gehen.
Hier die Beispieldatei:
https://www.herber.de/bbs/user/32162.xls
Hat jemand dazu zufaellig eine Loesung parat?
Gruss,
Sonja
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sekundaerachse schneidet x-Achse bei 0
22.03.2006 23:33:59
Yal
Hallo Sonja,
Du musste die beide Ratio Max(primärachse) / Min(prim) und Max(sekundärachse)/Min(sek) aneinander anpassen.
Und zwar, so dass keine Verkleinerung entsteht: Min soll nicht nach Oben und Max nicht nach Unten korrigiert werden.
Am einfachste ist festzustellen, ob "nach Unten" oder "nach Oben" vergrössert wird.
nach Unten: der Min der grösste Ratio so korrigiert wird, das es den andere Ration trifft.
"nach Oben" wurde der Max der kleinste Ration, so vergrössert ...
Hier mit Korrektur nach Unten:

Sub Diagram_justieren()
ActiveSheet.ChartObjects("Diagramm 1").Activate
With ActiveChart
Max1 = .Axes(xlValue).MaximumScale
Min1 = .Axes(xlValue).MinimumScale
Max2 = .Axes(xlValue, xlSecondary).MaximumScale
Min2 = .Axes(xlValue, xlSecondary).MinimumScale
If (Max1 / Min1) < (Max2 / Min2) Then
.Axes(xlValue).MinimumScale = Max1 * Min2 / Max2
Else
.Axes(xlValue, xlSecondary).MinimumScale = Max2 * Min1 / Max1
End If
End With
End Sub

Viel Spass
Yal
Anzeige
AW: Sekundaerachse schneidet x-Achse bei 0
23.03.2006 20:52:33
Sonja
Hallo Yal,
vielen Dank fuer die schnelle Antwort.
Die Loesung sieht nach VBA aus, leider habe ich bisher davon keine Ahnung...
Eine einfachere Loesung oder eine Erklaerung zu dieser hast du nicht zufaellig...?
Sonja
AW: Sekundaerachse schneidet x-Achse bei 0
23.03.2006 22:09:37
Yal
Hallo Sonja,
die Erklärung war schon drin! Überlesen?
Ja es sieht nach VBA. Kein Angst, es beisst nicht. Es ist nur der Standard Makrosprache. Siehe in die Online-hilfe, wie man am bestens die erste Schritt mit Makros.
Ansonstens hilft ein Taschenrechner (die berechnungsformel hast Du ja) und die Werte per Hand im Achsen eintragen.
Nun Mut!
yal
Anzeige
;
Anzeige

Infobox / Tutorial

Sekundärachse im Excel-Diagramm bei 0 schneiden


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass die Sekundärachse im Excel-Diagramm die x-Achse bei 0 schneidet, kannst du folgende Schritte ausführen:

  1. Diagramm erstellen: Erstelle ein Diagramm mit mindestens zwei Datenreihen. Eine Datenreihe sollte auf der Primärachse und die andere auf der Sekundärachse liegen.

  2. Sekundärachse aktivieren: Rechtsklicke auf die Datenreihe, die du auf der Sekundärachse anzeigen möchtest, und wähle "Datenreihe formatieren". Setze das Häkchen bei "Sekundärachse".

  3. Achsen formatieren: Klicke auf die Sekundärachse, um ihre Formatierung zu öffnen. Stelle sicher, dass die Minimum- und Maximum-Werte entsprechend eingestellt sind.

  4. VBA-Makro verwenden: Für eine dynamische Anpassung kannst du ein VBA-Makro verwenden. Füge den folgenden Code in ein neues Modul ein:

    Sub Diagram_justieren()
       ActiveSheet.ChartObjects("Diagramm 1").Activate
       With ActiveChart
           Max1 = .Axes(xlValue).MaximumScale
           Min1 = .Axes(xlValue).MinimumScale
           Max2 = .Axes(xlValue, xlSecondary).MaximumScale
           Min2 = .Axes(xlValue, xlSecondary).MinimumScale
           If (Max1 / Min1) < (Max2 / Min2) Then
               .Axes(xlValue).MinimumScale = Max1 * Min2 / Max2
           Else
               .Axes(xlValue, xlSecondary).MinimumScale = Max2 * Min1 / Max1
           End If
       End With
    End Sub
  5. Makro ausführen: Führe das Makro aus, um die Achsenverhältnisse automatisch anzupassen.


Häufige Fehler und Lösungen

  • Die Sekundärachse wird nicht korrekt angezeigt: Überprüfe, ob die Datenreihe, die auf der Sekundärachse angezeigt wird, korrekt ausgewählt ist.
  • Achsenwerte ändern sich nicht bei Datenänderungen: Stelle sicher, dass das VBA-Makro korrekt implementiert ist und die Daten im Diagramm dynamisch aktualisiert werden.
  • Diagramm zeigt nicht bei 0 beginnend: Vergewissere dich, dass die Minimum-Werte der Sekundärachse auf 0 gesetzt sind.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, gibt es einige alternative Methoden:

  1. Manuelle Anpassung: Du kannst die Werte für die Minimum- und Maximum-Skala der Sekundärachse manuell anpassen, um sicherzustellen, dass sie bei 0 beginnen.

  2. Excel-Funktionen nutzen: Verwende Excel-Funktionen wie SVERWEIS, um dynamisch die Achsenwerte zu berechnen und manuell einzugeben.

  3. Wasserfalldiagramm: Bei Wasserfalldiagrammen kann die Sekundärachse ebenfalls bei 0 beginnen. Achte darauf, die Achsen entsprechend zu formatieren.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Sekundärachse in verschiedenen Diagrammtypen einstellen kannst:

  • Balkendiagramm: Erstelle ein Balkendiagramm und wähle eine Datenreihe für die Sekundärachse. Stelle sicher, dass die Sekundärachse die x-Achse bei 0 schneidet.

  • Liniendiagramm: In einem Liniendiagramm kannst du eine Reihe für die Sekundärachse verwenden. Setze die Achsenwerte entsprechend.

  • Wasserfalldiagramm: Bei einem Wasserfalldiagramm ist es wichtig, die Sekundärachse ebenfalls korrekt zu formatieren, um die Daten klar darzustellen.


Tipps für Profis

  • Diagrammtyp wählen: Achte darauf, dass der gewählte Diagrammtyp die Verwendung einer Sekundärachse unterstützt.
  • Datenüberprüfung: Überprüfe regelmäßig deine Daten, um sicherzustellen, dass sie die Achsenverhältnisse korrekt widerspiegeln.
  • VBA-Optimierung: Wenn du oft mit solchen Diagrammen arbeitest, kannst du dein VBA-Makro anpassen, um es effizienter zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Primär- und Sekundärachse beide auf 0 beginnen?
Du kannst die Minimum-Werte der Primär- und Sekundärachse manuell auf 0 setzen oder ein VBA-Makro verwenden, um dies dynamisch zu steuern.

2. Was passiert, wenn ich die Daten im Diagramm ändere?
Wenn du ein VBA-Makro verwendest, wird die Achsenanpassung automatisch durchgeführt. Andernfalls musst du die Achsenwerte manuell anpassen.

3. Ist VBA schwer zu lernen?
VBA ist eine leicht zu erlernende Programmiersprache. Es gibt viele Online-Ressourcen und Tutorials, die dir helfen können, die Grundlagen zu verstehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige