Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehlerhafte Skalierung Datumswerte auf X-Achse

Fehlerhafte Skalierung Datumswerte auf X-Achse
05.06.2019 20:13:36
Andreas
Hallo Excelfreunde,
ich habe mich heute wieder mit dem Thema grafischer Darstellungen in Excel befasst. Für Aufgaben mit einem definierten Start und Enddatum habe ich mit Anleitungen aus dem Internet auch ein für meine Zwecke ausreichendes Gantt Chart realisiert. Was mich jedoch einzig noch stört ist die eigenartige Skalierung der X-Achse. Wenn ich das Minimum, bzw. Maximum der einzelnen Datenpunkte auswerte komme ich auf andere Werte als Excel in seiner automatischen Skalierung der X-Achse.
Datum als Zahl dargestellt habe ich ein Minimum von 38.000 (runtergerundet) und Maximum (hochgerundet) von 44.000. In der automatischen Skalierung verwendet Excel jedoch 36.000 und 45.000. Dies führt dazu, dass links und rechts von den als gestapelte Balken dargestellten Aufgaben Platz ungenutzt verbleibt. Je mehr Datenpunkte ich dazunehme und je größer deren Spannweite ist, desto prekärer wird der Effekt.
Weiss von Euch jemand Rat wie ich die Skalierung von Datumswerten besser gestalten kann? Gibt es die Möglichkeit einen über eine Formel ermittelten Wert in die Minium-/ Maximum- Skalierung zu übergeben? Ich hatte auch einmal gelesen, dass die Achse als Datumsachse definiert werden kann, aber diese Option wird bei mir nicht angezeigt.
https://www.herber.de/bbs/user/130227.xlsx
Ich freue mich über jede Idee und Hilfe. Danke für Eure Aufmerksamkeit.
Beste Grüße, Andreas Hanisch (Berlin)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Skalierung Werteachse Gantt-Diagramm
05.06.2019 21:49:33
Beverly
Hi Andreas,
das Gantt-Diagramm wie du es erstellt hast, basiert auf einem Balkendiagramm (gestapelt), weshalb die Horizontalachse nicht die X-Achse (bzw. Rubrikenachse) sondern die Y-Achse (bzw. Werteachse) ist. Nur der Rubrikenachse kann man das Format Datum zuweisen, nicht jedoch der Werteachse (=Horizontalachse in deinem Diagramm), die skaliert werden soll.
Excel wählt das automatische Minimum und das automatische Maximum nicht so aus, dass die Minimal- und Maximal-Werte deiner Ausgangsdaten direkt genommen werden sondern legt Min und Max in Abhängigkeit von der Spanne der Werte und der Breite der Diagrammfläche "gefühlsmäßig" betrachtet "willkürlich" fest. Als Benutzer hat man da so gut wie keinen Einfluss darauf.
Damit du eine Darstellung ohne große Leerraum links und rechts von deinen Balken erhältst, müsstest du die Werteachse (Horzontalachse) also entsprechend fix skalieren - dazu einfach beim Minimum das niedrigste Startdatum eintragen und beim Maximum das größte Enddatum.
Wenn sich das Startdatum jedoch ständig ändern soll, musst du es immer wieder neu von Hand anpassen und das Maximum müsstest du ebenfalls neu anpassen, wenn Datumswerte hinzukommen, die weiter in der Zukunft liegen.
Wenn du das Anpassen von Min und Max nicht von Hand machen willst, geht es nur per VBA.


Anzeige
AW: Skalierung Werteachse Gantt-Diagramm
05.06.2019 23:02:31
Andreas
Hallo Karin,
Nach endlosen Stunden der Recherche, des Versuchens und des Ärgerns dämmerte in mir die Erkenntnis dessen, was Du sehr gut beschrieben hast. Es geht nur per VBA... Dann wird es so sein. Aber Deine fundierte Analyse und Erklärung läßt mich dahingehend beruhigt sein, dass VBA der einzig mögliche Weg ist und ich nichts übersah.
Habe vielen, vielen Dank, dass Du Dir an diesem Sommerabend die Zeit für Deine Zeilen genommen hast. Ich werde nun erschöpft, aber Dank Dir (!) den Rechner herunterfahren und morgen mit frischer Kraft und Perspektive den VBA Code für die Skalierung programmieren.
Du rockst!
Viele Grüße aus Berlin, Andreas
Anzeige
AW: Skalierung Werteachse Gantt-Diagramm
06.06.2019 08:53:56
Beverly
Hi Andreas,
ich empfehle dir z.B. folgenden Code im Codemodul des Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1).Column = 5 And Target.Cells(1).Row > 5 Then
With Worksheets("Tabelle1").ChartObjects(1).Chart
.Axes(xlValue).MinimumScale = Application.Min(Columns(3)) - 1
.Axes(xlValue).MaximumScale = Application.Max(Columns(5)) + 1
End With
End If
End Sub
Bei Eingabe eines Wertes in Spalte E (5) ab Zeile 6 wird die Skalierung der Horizontalachse des Diagramms dahingehend angepasst, dass das Min auf das kleinste Datum - 1 Tag in Spalte C (3) und das Max auf das größte Datum + 1 Tag in Spalte E (5) gesetzt wird. Wenn du andere Werte haben willst musst du das selbstverständlich anpassen.
Noch zum allgemeiner Verständnis: in Excel ist es sinnvoll, nicht wie im normalen Sprachgebrauch von X- und Y-Achse zu sprechen, sondern besser von Rubriken- und Werteachse. Oder man spricht (so wie es Excel selbst macht) von Horizontal- und Vertikalachse, wobei man allerdings noch den Diagrammtyp angeben sollte, denn bei einem Balkendiagramm sind beide Achsen ja "vertauscht". MS hat es sich bei diesem Diagrammtyp "leicht gemacht", denn es ist nichts anderes als ein um 90° im Uhrzeigersinn um den 0-Punkt gedrehtes Säulendiagramm.


Anzeige
AW: Skalierung Werteachse Gantt-Diagramm
06.06.2019 15:18:19
Andreas
Hallo Karin,
vielen Dank für die hilfreiche Erklärung und die VBA Befehle für das Scaling. So kann ich mir einen Code schreiben, welcher auf ShortCut gelegt die Skalierung überwacht.
Liebe Grüße aus Berlin, Andreas
AW: Skalierung Werteachse Gantt-Diagramm
06.06.2019 17:59:03
Beverly
Hi Andreas,
sicher kannst du den Code auch so umschreiben, dass du das Makro einer Tastenkombination zuweist. Allerdings würde ich persönlich eine automatische Anpassung (wie in meinem Code) der Skalierung bei Ergänzung der Daten bevorzugen - weshalb muss man sich mehr Arbeit machen als notwendig und außerdem noch immer daran denken nicht zu vergessen, die Skalierung anzupassen...


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fehlerhafte Skalierung von Datumswerten auf der X-Achse in Excel


Schritt-für-Schritt-Anleitung

Um die Skalierung der X-Achse in einem Excel-Diagramm, insbesondere bei Gantt-Diagrammen, zu optimieren, folge diesen Schritten:

  1. Diagramm erstellen: Wähle die Daten aus, die Du in einem Gantt-Diagramm darstellen möchtest, und erstelle ein gestapeltes Balkendiagramm.

  2. Achsenformatierung:

    • Klicke mit der rechten Maustaste auf die X-Achse (Rubrikenachse).
    • Wähle „Achse formatieren“ aus dem Kontextmenü.
  3. Datumsachse definieren:

    • Stelle sicher, dass die Option „Achsentyp“ auf „Datumsachse“ gesetzt ist. Falls diese Option nicht verfügbar ist, könnte es sein, dass Excel die Daten nicht korrekt als Datumswerte erkennt.
  4. Min und Max manuell einstellen:

    • Setze die Minimum- und Maximumwerte der X-Achse manuell auf die gewünschten Datumswerte, um die Skalierung zu optimieren.
  5. Überprüfung der Ergebnisse: Überprüfe, ob die X-Achse nun korrekt skaliert ist und alle Datenpunkte angezeigt werden.


Häufige Fehler und Lösungen

  • Excel Diagramm Datumsachse funktioniert nicht: Stelle sicher, dass die Daten in einem erkennbaren Datumsformat vorliegen. Excel benötigt korrekte Datumswerte, um die Datumsachse richtig zu formatieren.

  • Excel X-Achse skalieren geht nicht: Wenn die Skalierung nicht funktioniert, überprüfe, ob die Daten in den richtigen Zellen sind und ob Du die Achse korrekt als Datumsachse definiert hast.

  • Leere Bereiche in der Darstellung: Wenn Du ungenutzte Bereiche auf der X-Achse siehst, passe die Minimum- und Maximumwerte manuell an, um den Platz optimal zu nutzen.


Alternative Methoden

Eine alternative Methode zur Skalierung der X-Achse ist die Verwendung von VBA (Visual Basic for Applications). Mit VBA kannst Du die Skalierung automatisieren, sodass sie sich mit den Daten ändert. Hier ist ein Beispielcode, den Du in das Codemodul des Tabellenblattes einfügen kannst:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells(1).Column = 5 And Target.Cells(1).Row > 5 Then
        With Worksheets("Tabelle1").ChartObjects(1).Chart
            .Axes(xlValue).MinimumScale = Application.Min(Columns(3)) - 1
            .Axes(xlValue).MaximumScale = Application.Max(Columns(5)) + 1
        End With
    End If
End Sub

Dieser Code passt die Skalierung der Horizontalachse automatisch an, wenn Du Werte in Spalte E eingibst.


Praktische Beispiele

  1. Gantt-Diagramm erstellen:

    • Stelle Dir vor, Du hast eine Liste von Projekten mit Start- und Enddaten. Du kannst diese Daten nutzen, um ein Gantt-Diagramm zu erstellen, das die Dauer der Projekte visuell darstellt.
  2. Skalierung der X-Achse anpassen:

    • Angenommen, Dein frühestes Startdatum ist der 01.01.2023 und das späteste Enddatum ist der 31.12.2023. Setze die Minimum- und Maximumwerte der X-Achse auf diese Daten, um sicherzustellen, dass die gesamte Zeitspanne abgedeckt ist und keine Leerbereiche entstehen.

Tipps für Profis

  • Automatisierung: Nutze VBA, um die Skalierung der X-Achse automatisch anzupassen, wenn sich Daten ändern.
  • Datumsformate: Achte darauf, dass alle Datumswerte im gleichen Format vorliegen, um Probleme mit der Datumsachse zu vermeiden.
  • Diagrammgestaltung: Experimentiere mit verschiedenen Diagrammtypen, um die beste visuelle Darstellung für Deine Daten zu finden.

FAQ: Häufige Fragen

1. Warum kann ich die X-Achse nicht als Datumsachse formatieren?
Stelle sicher, dass die Daten in einem gültigen Datumsformat vorliegen und dass Du die richtige Achse ausgewählt hast.

2. Wie kann ich die X-Achse bei vielen Datenpunkten optimieren?
Setze Minimum- und Maximumwerte manuell, um sicherzustellen, dass die Achse die Datenpunkte gut abdeckt und Leerraum minimiert wird.

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