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

Format der y-Achse im Diagramm dynamisch

Format der y-Achse im Diagramm dynamisch
22.03.2017 16:41:46
Juliane
Hallo zusammen,
ich möchte ein Diagramm erstellen, bei dem der Nutzer über Optionsfelder auswählen kann, ob er die Werte absolut oder als Quote angezeigt bekommen möchte. Also z.B. wurden 3.000 Stück weniger als geplant verkauft oder 10% weniger.
Die Berechnung der Werte hat geklappt. In der Tabelle werden die Zahlen über eine bedingte Formatierung auch korrekt absolut bzw. als Prozentwert angezeigt.
Wenn ich nun darauf ein Diagramm erstelle, wird für die Einteilung der y-Achse nur die ursprüngl. Zellformatierung genutzt - unabhängig von der bedingten Formatierung. Hat von euch jemand eine Idee, wie man die Formatierung der Werte auf der y-Achse abhängig vom ausgewählten Optionsfeld (absolut oder relativ) gestalten kann?
Vielen Dank vorab für eure Unterstützung!
Viele Grüße Juliane

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format der y-Achse im Diagramm dynamisch
22.03.2017 18:24:15
Beverly
Hi Juliane,
lade eine Beispielmappe hoch, dann kann man das besser nachvollziehen.


AW: Meinst Du vielleicht so....
23.03.2017 09:14:43
Juliane
Hallo Michael,
so ähnlich sieht das Diagramm aktuell bei mir auch aus. Auf der y-Achse werden absolute Werte angezeigt. Einziger Unterschied ist, dass ich die Zellen als Zahl mit Tausender Trennpunkt und ohne Kommastelle formatiert habe, da meine absoluten Deltas relativ groß sind. Über eine bedingte Formatierung werden wie bei dir Prozente dargestellt, wenn man auf Quote umstellt.
Mein Wunsch wäre, dass man auch im Diagramm Prozentwerte (inkl. %-Zeichen) bekommt, wenn man bei Schalter "Quote" auswählt. Geht sowas auch?
Viele Grüße Juliane
Anzeige
Das ließe sich...
23.03.2017 11:02:02
Beverly
Hi Juliane,
...nur mit VBA lösen - für das Beispiel von Michael dazu folgenden Code ins Codemodul des Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1).Address(False, False) = "D4" Then
With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue)
If Target.Value = "Quote" Then
.TickLabels.NumberFormat = "0%"
.Parent.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"
Else
.TickLabels.NumberFormat = "#,##0"
.Parent.SeriesCollection(1).DataLabels.NumberFormat = "#,##0"
End If
End With
End If
End Sub


Anzeige
AW: Das ließe sich...
27.03.2017 15:38:24
Juliane
Hi Beverly,
vielen Dank für deine Antwort. Ich habe es auch schon ausprobiert, nur leider funktioniert es noch nicht. Meine Vermutung ist, dass es daran liegt, dass ich in dem Reiter meiner Datei mehrere Diagramme habe, von denen nur bei einem die Achse geändert werden soll.
Leider kenne ich mich mit VBA nicht gut aus. Könntest du mir hier bitte nochmal helfen?
Viele Grüße Juliane
AW: Das ließe sich...
27.03.2017 15:55:40
Beverly
Hi Juliane,
schreibe anstelle ChartObjects(1) den Namen des Diagramms, welches angepasst werden soll - z.B. ChartObjects("Diagramm 5")


Anzeige
AW: Das ließe sich...
28.03.2017 11:47:03
Juliane
Hi Beverly,
mit Angabe des Diagrammnamens funktioniert es leider auch noch nicht. Habe es als Test mit verschiedenen Diagrammen probiert, aber die Formatierung der y-Achse hat sich nie verändert.
Hast du eine Idee, woran es noch liegen könnte?
File hochladen geht leider nicht, da vertrauliche Daten enthalten sind.
Viele Grüße Juliane
Beispielmappe erforderlich
28.03.2017 13:13:55
Beverly
Hi Juliane,
erstelle eine Kopie deiner Mappe mit Dummydaten und lade diese hoch, denn Ferndiagnosen sind bei dieser Art an Problemen nicht möglich.


AW: Beispielmappe erforderlich
28.03.2017 16:54:44
Juliane
Hi Berverly,
wie schon geschrieben ist es mit einem Dateiupload schwierig, die Datei zu anonymisieren würde viel Aufwand bedeuten. Ich habe selber noch etwas rumgespielt und ausprobiert und habe dabei fast, aber halt leider nur fast, eine Möglichkeit gefunden:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("$AK$42").Value = 2 Then
ActiveSheet.ChartObjects("Diagramm 37").Activate
ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "0,0%"
Else
ActiveSheet.ChartObjects("Diagramm 37").Activate
ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "#.##0"
End If
Range("AK42").Select
End Sub

In AK42 steht entweder 1 für absolute Werte oder 2 für Prozentwerte.
Trage ich diese Zahlen händisch ein, funktioniert der Code. Das Problem ist, dass der Anwender über Optionsfelder diese Wahl trifft und das Ergebnis davon als 1 oder 2 in der Zelle AK42 ausgegeben wird. Ändert sich der Wert der Zelle AK42 nur durch das Betätigen der Optionsfelder, ändert sich an der Formatierung der y-Achse leider nichts.
Wie kann man denn mein Beispiel oder deinen Vorschlag abändern, damit die Auswahl mit den Optionsfeldern berücksichtigt wird?
Vielen Dank für deine Unterstütung!
Anzeige
Gut, wenn du meinst...
28.03.2017 17:19:23
Beverly
Hi,
...dass der Aufwand zu groß ist, obwohl es ganz einfach ist, eine Kopie des Originals als Beispielmappe nur mit den relevanten Daten und dem betreffenden Diagramm zu erstellen ...
Was ist daran so kompliziert, in meinem Code anstelle ChartObjects(1) zu schreiben: ChartObjects("Diagramm 37") und außerdem zu prüfen, ob AK42 eine 2 enthält?
Aktivate braucht man dazu überhaupt nicht und dann muss man auc nicht im Anschluss wieder eine Zelle selektieren.


AW: Gut, wenn du meinst...
28.03.2017 17:28:19
Juliane
Das hatte ich in deinem Code probiert, aber es funktioniert nicht. Egal was man bei den Optionsfeldern ausgewählt hat, es hat sich nichts verändert.
Von daher habe ich ausprobiert, ob auch was anderes funktionieren könnte.
Anzeige
Was für OptionButton?
28.03.2017 17:37:09
Beverly
Dass es in Michaels Mappe funktioniert, hast du ja sicher gesehen. Aber da niemand deine Mappe kennt, kann auch niemand sagen, was bei dir falsch läuft.
Eventuell kannst du ja das Click-Ereignis der OptionButton verwenden.


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge