Hallo!
Leider konnte ich mit der Suchfunktion keinen Artikel zu meinem Problem finden.
Ich habe mehrere tausend Datenwerte untereinander in Zellen stehen. Nun will ich einen Bereich daraus grafisch darstellen, mit einem X-Y-Chart. Die Grenzen des Bereichs, also von Reihe#nnn bis Reihe#mmm will ich berechnen lassen.
Bei den Funktionen wie AVERAGE() funktioniert das prima. Ich habe mit der Funktion ADDRESS() aus der berechneten Reihennummer eine Adresse gemacht und kann dann den Range für die AVERAGE() Funktion mit INDIRECT(Zelle1):INDIRECT(Zelle2) angeben. Doch leider kann ich diesen, mit INDIRECT definierten Range, nicht bei der Datenauswahl für ein Chart angeben.
Kann mir jemand verraten ob das geht, bei einem Chart berechnete Ranges zu verwenden, und wenn ja, wie? Ich benutze die US-Version von EXCEL professional 2003.
Besten Dank schon mal,
Thomas.
Hi Thomas,
leider verstehe ich da nicht ganz was du da vorhast bzw. machst.
Average entspricht dem Mittelwert, mir unklar wie du daurch irgndeneinen Bereich „berechnest“, also ermittelst.
Und dann aus dieser Berechnung mit Adresse() auf sowas wie
INDIRECT(Zelle1):INDIRECT(Zelle2)
kommst, was mir eh unklar ist.
Das deutsch/englisch ist keinerlei Problem. hättest du die deutschen Funktionsbezeichnungen benutzt hätte ich’s genausowenig verstanden 
Kannst du mal mit FAQ:2861 eine kleine Beispieldatei hochladen, wo man sieht was du da berechnest und du angibst welcher Datenbereich in dem Beispiel die Datenquelle des Diagramms sein soll.
Gruß
Reinhard
Ich habe mehrere tausend Datenwerte untereinander in Zellen
stehen. Nun will ich einen Bereich daraus grafisch darstellen,
mit einem X-Y-Chart. Die Grenzen des Bereichs, also von
Reihe#nnn bis Reihe#mmm will ich berechnen lassen.
Bei den Funktionen wie AVERAGE() funktioniert das prima. Ich
habe mit der Funktion ADDRESS() aus der berechneten
Reihennummer eine Adresse gemacht und kann dann den Range für
die AVERAGE() Funktion mit INDIRECT(Zelle1):INDIRECT(Zelle2)
angeben. Doch leider kann ich diesen, mit INDIRECT definierten
Range, nicht bei der Datenauswahl für ein Chart angeben.
Kann mir jemand verraten ob das geht, bei einem Chart
berechnete Ranges zu verwenden, und wenn ja, wie? Ich benutze
die US-Version von EXCEL professional 2003.
Hallo,
ich entnehme, Du kannst feststellen, welche Zellen in das Diagramm kommen sollen.
Mach ein weiteres Tabellenblatt und dort Kopien der Zellen hinein.
In den Zellen, wo die Kopien hinkommen sollen, steht Deine Formel drin.
Von den Zellen der Kopie dann das Diagramm erstellen.
Gruss Helmut
Hi Thomas,
leider verstehe ich da nicht ganz was du da vorhast bzw.
machst.
Average entspricht dem Mittelwert, mir unklar wie du daurch
irgndeneinen Bereich „berechnest“, also ermittelst.
Und dann aus dieser Berechnung mit Adresse() auf sowas wie
INDIRECT(Zelle1):INDIRECT(Zelle2)
kommst, was mir eh unklar ist.
Hallo Rreinhard!
das Problem ist folgendes: Ich habe 2 Datenreihen in Spalten untereinander stehen. Eine Reihe sind äquidistante Zeitwerte, das soll meine X-Achse geben, der jeweils in der Zelle danebenstehende Wert soll mein Y-Wert im Diagramm geben.
Ich will nun im Worksheet eine Start- und eine End-Zeit eintragen können (variabel). Daraufhin sollen im Diagramm die zu diesem Zeitbereich gehörenden X- und Y-Werte erscheinen. Und zwar nur dieser Ausschnitt, nicht alle Datenwerte.
In einer weiteren Zelle des Worksheets will ich für den angegebenen Bereich den Mittelwert der Daten. Dies habe ich mit der Funktion AVERAGE realisiert. Ich habe eine Formel erstellt, die aus der eingegeben Startzeit die Reihennummer berechnet, bei der mein ausgewählter Bereich beginnt, genauso wird die Reihennummer des Bereichs-Endes berechnet.
Aus diesen Zahlen macht die Funktion ADDRESS, für EXCEL gültige Adressen. Beispiel: Meine Daten stehen in den Spalten A und B in den Reihen 10 bis 8000. Die berechneten Reihennummern für Anfang und Ende des interessierenden Bereiches seien in den Zellen C1 und D1 z.B. 500 und 1000. In den Zellen C2 und D2 liefert mir die Funktion ADDRESS(C1,2) bzw. ADRESS(D1,2) die Adressen $B$500 und $B$100. Das sind Texte, die gültige Adressen representieren. Mit diesen Adressen kann ich nun den Range für die AVERAGE Funktion definieren. Mit AVERAGE(INDIRECT(C2):INDIRECT(D2)) bekomme ich den Mittelwert der Daten $B$500 bis $B$1000.
Gebe ich nun andere Start und Endzeiten ein, wird der Range für die AVERAGE Funktion automatisch angepasst. Ich habe also einen dynamischen Range.
Leider klappt das mit dem Diagramm nicht. In der Eingabemaske für den Datenrange für X- und Y-Achse wird das Formel-Konstrukt mit INDIRECT() nicht angenommen. Das ist mein Problem. Ich will für das Diagramm einen dymamischen Range, genauso wie ich es für die AVERAGE Funktion habe.
Das war meine Frage. Wie geht das? Wie kann ich ein Diagramm genauso „dynamisieren“ wie z.B. die AVERAGE Funktion.
Ich hoffe, daß meine Problemstellung jetzt klar geworden ist.
Liebe Grüße,
Thomas.
Hallo Helmut!
Das wäre nicht weiter schwierig. Ich will aber das Diagramm nicht erst neu erstellen, sondern ich will, daß in einem betehenden Diagramm der Datenbereich sich automatisch dem in zwei Zellen eingegebenen Start- und Endwert anpasst.
Liebe Grúße,
Thomas.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Das wäre nicht weiter schwierig. Ich will aber das Diagramm
nicht erst neu erstellen, sondern ich will, daß in einem
betehenden Diagramm der Datenbereich sich automatisch dem in
zwei Zellen eingegebenen Start- und Endwert anpasst.
Hi Thomas,
diese Kurzform ohne Average hab ich kapiert 
Bei einer Vba-Lösung besteht das Problem das die Wertänderung in C1 und C2 durch Formeln erreicht wird, diese Änderung ist nicht direkt durch Vba auswertbar, im Gegensatz zur manuellen Eingabe von Werten in C1/C2.
Nun kennt aber Vba von sich aus einige festgelegte Ereignisse, die es automatisch auswerten kann. Ich habe das Selection_Cahnge Ereignis genommen. Immer wenn du im Blatt eine beliebige andere Zelle markierst wird das Diagramm aktualisiert aufgrund der Werte in C1 und C2.
Bilde mal zum Testen die nachstehende Tabelle nach und bilde daraus ein x-y-Diagramm. Wie du siehst werden da auch die Werte in C1/C2 durch Formeln berechnet. Gib halt zum testen in D1/D2 mal verschiedene Zahlen ein…
Achja, nachdem du die Tabelle erstellt hast oder auch später im Original, Alt+F11, links machst du einen Doppelklick auf den Blattnamen und fügst folgenden Code ein:
Option Explicit
'
Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
Dim Bereich As Range
Application.ScreenUpdating = False
Set Bereich = Range("A" & Range("C1") & ":B" & Range("C2"))
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Bereich, PlotBy \_
:=xlColumns
Application.EnableEvents = False
Target.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
(Sorry für den Code, ist frisch vom Makrorekorder *gg*)
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │ D │
───┼────┼───┼────┼────┤
1 │ 1 │ 2 │ 5 │ 5 │
───┼────┼───┼────┼────┤
2 │ 2 │ 5 │ 14 │ 14 │
───┼────┼───┼────┼────┤
3 │ 3 │ 6 │ │ │
───┼────┼───┼────┼────┤
4 │ 4 │ 3 │ │ │
───┼────┼───┼────┼────┤
5 │ 5 │ 7 │ │ │
───┼────┼───┼────┼────┤
6 │ 6 │ 6 │ │ │
───┼────┼───┼────┼────┤
7 │ 7 │ 4 │ │ │
───┼────┼───┼────┼────┤
8 │ 8 │ 8 │ │ │
───┼────┼───┼────┼────┤
9 │ 9 │ 7 │ │ │
───┼────┼───┼────┼────┤
10 │ 10 │ 6 │ │ │
───┼────┼───┼────┼────┤
11 │ 11 │ 1 │ │ │
───┼────┼───┼────┼────┤
12 │ 12 │ 0 │ │ │
───┼────┼───┼────┼────┤
13 │ 13 │ 9 │ │ │
───┼────┼───┼────┼────┤
14 │ 14 │ 2 │ │ │
───┼────┼───┼────┼────┤
15 │ 15 │ 6 │ │ │
───┼────┼───┼────┼────┤
16 │ 16 │ 3 │ │ │
───┴────┴───┴────┴────┘
Benutzte Formeln:
C1 : =D1
C2 : =D2
A1:smiley:16
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard