Supportnet Computer
Planet of Tech

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.

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

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

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 Sub


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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: