Supportnet / Forum / Tabellenkalkulation
y-Achsen-Formatierung mithilfe einer Formel
Frage
Guten Tag,
ich habe folgendes Problem und braeuchte dringend Hilfe:
ich moechte, dass in einem Exceldiagramm die Y-Achse automatisch formatiert wird. Aber nicht so wie es Excel tut, sondern manuell gesteuert ueber einen Zellbeszug oder eine Formel.
Wenn ich doppelklicke auf die Y-Achse und versuche in das Menufenster "Skalierung" eine Formel einzutippen kommt eine Fehlermeldung, dass ich nur Integer, oder Dezimalzahlen eingeben kann. Gibt es dennoch eine Moeglichkeit diese Werte variabel zu gestalten?
Ich wuerde mich ueber eine schnelle Rueckmeldung sehr freuen.
Vielen Dank
mit freundlichen Gruessen
David
Antwort 1 von Beverly
Hi David,
eine Formel kannst du dort nicht eintragen. Du könntest die Skalierung allerdings mittels VBA variabel gestalten.
Minimum in A1, Maximum in A2. Das Makro könnte man auch in das Worksheet_Change Ereignis einbinden, sodass bei einer Änderung in A1 oder A2 die Anpassung automatisch erfolgt.
Bis später,
Karin
eine Formel kannst du dort nicht eintragen. Du könntest die Skalierung allerdings mittels VBA variabel gestalten.
Sub Achsen_skalieren()
Dim chDiagramm As ChartObject
Set chDiagramm = ActiveSheet.ChartObjects("Diagramm 1")
With chDiagramm.Chart.Axes(xlValue)
.MinimumScale = Worksheets("Tabelle1").Cells(1, 1)
.MaximumScale = Worksheets("Tabelle1").Cells(2, 1)
End With
End Sub
Minimum in A1, Maximum in A2. Das Makro könnte man auch in das Worksheet_Change Ereignis einbinden, sodass bei einer Änderung in A1 oder A2 die Anpassung automatisch erfolgt.
Bis später,
Karin
Antwort 2 von Mini-Dave
Hi Karin,
vielen Dank fuer deine Hilfe.
Ich hab noch nie Makros programmiert und hatte gehofft es gaebe eine einfache Methode.
Ich muss mich mal noch tiefer damit befassen, damit ich weiss, wie ich dein Makro auf mein Workbook anpassen kann.
Trotzdem vielen Dank fuer deine Muehe
Gruesse und ein schoenes Wochenende
David
vielen Dank fuer deine Hilfe.
Ich hab noch nie Makros programmiert und hatte gehofft es gaebe eine einfache Methode.
Ich muss mich mal noch tiefer damit befassen, damit ich weiss, wie ich dein Makro auf mein Workbook anpassen kann.
Trotzdem vielen Dank fuer deine Muehe
Gruesse und ein schoenes Wochenende
David
Antwort 3 von Beverly
Hi David,
dass du noch keine Makros programmiert hast, ist doch kein Beinbruch. Schreibe Minimum und Maximum, welches deine Y-Achse haben soll, in A1 und A2 und mach dann einfach Folgendes: Alt + F11 und du gelangst in den VBA-Editor. Im linken Fenster findest du dein VBA-Projekt. Dort doppelklickst du auf die Tabelle, in der sich deine Daten befinden. In das große Fenster, welches sich rechts öffnest, kopierst du dann diesen Code
Von jetzt an ändert sich die Skalierung der Y-Achse automatisch, sobald du einen Wert in A1 oder A2 änderst. Es wird davon ausgegangen, dass sich nur 1 Diagramm in der Tabelle befindet. Probier es einfach mal aus. Falls es kein in die Tabelle eingebettes Diagrammobjekt sondern ein Diagrammblatt ist, sage Bescheid, dann müssen wir den Code ein wenig verändern.
Bis später,
Karin
dass du noch keine Makros programmiert hast, ist doch kein Beinbruch. Schreibe Minimum und Maximum, welches deine Y-Achse haben soll, in A1 und A2 und mach dann einfach Folgendes: Alt + F11 und du gelangst in den VBA-Editor. Im linken Fenster findest du dein VBA-Projekt. Dort doppelklickst du auf die Tabelle, in der sich deine Daten befinden. In das große Fenster, welches sich rechts öffnest, kopierst du dann diesen Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As ChartObject
If Target.Address <> "$A$1" And Target.Address <> "$A$2" Then Exit Sub
Set chDiagramm = ActiveSheet.ChartObjects(1)
With chDiagramm.Chart.Axes(xlValue)
.MinimumScale = Worksheets("Tabelle1").Cells(1, 1)
.MaximumScale = Worksheets("Tabelle1").Cells(2, 1)
End With
End SubVon jetzt an ändert sich die Skalierung der Y-Achse automatisch, sobald du einen Wert in A1 oder A2 änderst. Es wird davon ausgegangen, dass sich nur 1 Diagramm in der Tabelle befindet. Probier es einfach mal aus. Falls es kein in die Tabelle eingebettes Diagrammobjekt sondern ein Diagrammblatt ist, sage Bescheid, dann müssen wir den Code ein wenig verändern.
Bis später,
Karin

