Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Achsenmaximum auslesen

Achsenmaximum auslesen
15.03.2018 08:48:29
Johann
Hallo miteinander,
ist es denn möglich aus einem Diagramm das Minimum oder Maximum einer Achse (Achsenoptionen - Grenzen - Minimum/Maximum) in eine Zelle auslesen zu lassen?
LG Jo

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ja, mit VBA...
15.03.2018 09:04:42
Beverly
Hi,
...das WIE hängt vom Diagrammtyp ab und um welche Achse es sich handelt.


AW: Ja, mit VBA...
15.03.2018 09:19:13
Johann
Es handelt sich um ein Diagramm aus Punkten mit geraden Linien. Und bei der Achse handelt es sich um eine normal skalierte y-Achse mit Zahlen.
Geht es auch ohne VBA?
Nur mit VBA möglich
15.03.2018 09:57:38
Beverly

Sub DiaAchsenwerte()
Range("C1") = ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale
Range("C2") = ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MinimumScale
End Sub


Anzeige
AW: Nur mit VBA möglich
15.03.2018 10:03:21
Johann
Danke für die Lösung, da meine VBA-Kenntnisse leider etwas bescheiden sind hätte ich noch eine Frage: Wäre es möglich mittels VBA daraus eine Worksheet-Function zu machen und diese dann in der Arbeitsmappe zu verwenden?
AW: Nur mit VBA möglich
15.03.2018 10:20:00
Daniel
Hi
im Prinzip so, wenn du nur ein Diagramm hast.
Die Funktion läuft aber nur in dem Blatt, in dem das Diagramm liegt:
Function DiaAchsenMax(rng as Range) as Double
DiaAchsenMax = ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale
End function
Function DiaAchsenMin(rng as Range) as Double
DiaAchsenMin = ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MinimumScale
End function
in der Zelle dann:
=DiaAchsenMax(A1:A10)
beim Zellbereich solltest du auf Zellen der Werttabelle des Diagramms verweisen.
Das wird zwar für die Ermittlung der Werte nicht benötigt, aber dann wird die Formel automatisch neu berechnet, wenn sich die Werte ändern.
wenns ganz ohne VBA gehen soll, müsstest du mal das WWW (oder vielleicht auch die Hilfe) nach den Spielregeln, mit denen Excel die Max-Werte ermittelt, durchsuchen und das dann als Excelformel nachbauen.
Gruß Daniel
Anzeige
AW: Nur mit VBA möglich
15.03.2018 10:32:25
Johann
Vielen Dank, funktioniert einwandfrei!
AW: Nur mit VBA möglich
15.03.2018 11:00:25
Beverly
Hi Daniel,
interessante Lösung, hätte nicht gedacht dass das möglich ist - man lernt halt nie aus ;-)
M.E. eine kleine Einschränkung: wenn die Achsenskalierung im Diagramm von Hand geändert wird, müssen die Formeln (von Hand) neu berechnet werden.


AW: Nur mit VBA möglich
15.03.2018 11:11:26
Daniel
Hi Beverly
lesend kann man in der Regel mit UDFs auf die meisten Objekte zugreifen, nur Veränderungen an den Objekten sind nicht möglich.
das mit der Aktualisierung der Formel bei manueller Änderung des Diagramms ist natürlich ein Problem, dass sich nicht vermeiden lässt.
Hier könnte man höchstens die Formel volatil machen, so dass sie zumindest bei der nächsten Änderung im Tabellenblatt (egal wo) den aktuellen Wert anzeigt (ähnlich wie JETZT() und die aktuelle Uhrzeit)
dann wäre es auch nicht mehr notwendig, den Zellbereich der Werte zu übergeben.
Function DiaAchsenMax() as Double
Application.Volatile
DiaAchsenMax = ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale
End function

Anzeige
AW: Nur mit VBA möglich
15.03.2018 10:22:00
Beverly
Was verstehst du unter "Worksheet-Function"? Meinst du vielleicht eine Benutzerdefinierte Funktion? Das ist nicht möglich, da sich diese auf Zellen beziehen muss und deshalb nicht auf eingebettete Objekte anwendbar ist.
Schreibe das Makro einfach in ein Standardmodul und führe es aus, dann schreibt es in C1 das Maximum und in C2 das Minimum - die Zellen musst du natürlich anpassen.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige