Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
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
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SeriesCollection Datenreihe zuweisen

SeriesCollection Datenreihe zuweisen
16.07.2007 13:35:09
BorisHendrik
Hallo,
ich habe ein Problem mit der Zuweisung von Datanreihen an Diagramme. Dabei richten die Datenreihen sich nach Zellinhalten die in einem festen Verhältnis zu der Grafik stehen. Anhand dieser Zellinhalte wird ein Name zusammengesetzt, der wiederum einen Bereich darstellt. So weit so gut.
So funktioniert es aber leider nicht, Zeile (ActiveChart.SeriesCollection(1).Value = R1) liefert Run-Time Error 438, Object doesn't support this property or method.
For Each ch In Sheets("Control II").ChartObjects
R1 = "=ABC.xls!Reihe" & ch.TopLeftCell.Offset(-2, -10)
R2 = "=ABC.xls!Reihe" & ch.TopLeftCell.Offset(4, -10)
chName = "Chart_" & ch.TopLeftCell.Offset(-2, -10)
ch.Name = chName
ch.Activate
ActiveChart.SeriesCollection(1).Value = R1
ActiveChart.SeriesCollection(2).Value = R2
Next ch
ich bin mir aber sicher, dass ich das so ähnlich schon hinbekommen habe. Ich hoffe Ihr köönt mir helfen, zebreche mir jetzt schon seit zwei Tagen den Kopf.
Dankeschön
Boris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SeriesCollection Datenreihe zuweisen
16.07.2007 13:54:54
Beverly
Hi Boris,
der Wertebereich einer Datenreihe muss meines Wissens immer in der R1C1-Schreibweise angegeben werden. Vom Prinzip her also
ActiveChart.SeriesCollection(1).Value = "=Tabelle1!R1C1:R5C1"
________________________________________

AW: SeriesCollection Datenreihe zuweisen
16.07.2007 14:23:30
BorisHendrik
Hallo Karin,
danke für den Hinweis. Ich möchte allerdings keine Range unter Angabe der Zellen zuweisen, sondern einen benannten Bereich. Der String wird auch korrekt zusammengesetzt.
Gibt es noch eine andere Möglichkeit, wie ich audf die Werete der Datenreihe zugreifen kann, alternativ zu Values?
Boris

Anzeige
AW: SeriesCollection Datenreihe zuweisen
16.07.2007 14:48:00
Beverly
Hi Boris,
du kannst auch einen definierten Namen als Datenquelle für die Reihe verwenden:
ActiveChart.SeriesCollection(1).Value = "=Mappe3.xls!Hallo"
Wichtig ist dabei, dass der Arbeitsmappenname vorangestellt wird.
Bis später,
Karin

AW: SeriesCollection Datenreihe zuweisen
16.07.2007 15:56:17
BorisHendrik
Hallo,
vielen Dank für Eure Antworten.
Mein Code sieht jetzt so aus:
For Each ch In Sheets("Control II").ChartObjects
Debug.Print ch.TopLeftCell.Address '(zur Kontrolle, welcher Chart gerade bearbeitet wird)
R1 = "='ABC.xls'!Reihe" & ch.TopLeftCell.Offset(-2, -10)
R2 = "='ABC.xls'!Reihe" & ch.TopLeftCell.Offset(4, -10)
chName = "Chart_" & ch.TopLeftCell.Offset(-2, -10)
ch.Name = chName
Sheets("Control II").ChartObjects(chName).Activate
ActiveChart.SeriesCollection(1).Values = R1
ActiveChart.SeriesCollection(2).Values = R2
Next ch
Das Problem war u.a. das ich den Dateinamen nicht in einfachen Anführungszeichen stehen hatte.
Also R1 = "=ABC.xls!Reihe" &
statt R1 = "='ABC.xls'!Reihe" &
Allerdings bin ich jetzt wieder so weit wie ganz am Anfang, da das Problem da aber ein anderes ist. mache ich nen neuen tread auf.
Vielen Dank für Eure Hilfe
Boris

Anzeige
AW: SeriesCollection Datenreihe zuweisen
16.07.2007 14:50:49
Renee
Hi Boris,

Ich möchte allerdings keine Range unter Angabe der Zellen zuweisen, sondern einen benannten Bereich.

Da Du Excel gut - VBA gut, nehme ich an, Du kannst damit etwas anfangen:
1. Du kannst einer SeriesCollection per VBA nur konkrete Zellebereiche zuordnen
2. Lese die .RefersTo Eigenschaft des Names aus
3. Weise die ausgelese Eigenschaft der SerieCollection zu
Greetz Renee

AW: kleine Korrektur, sag niemals nur
16.07.2007 15:23:06
Renee
Hi again,
Meine Aussage Du kannst einer SeriesCollection per VBA nur konkrete Zellebereiche zuordnen stimmt nicht ganz.
Du kannst einer SeriesCollection entweder eine konkrete Range (wie vorher erläutert) zuweisen, oder aber einen Array mit konkreten Werten, also z.B.
Charts("Chart1").SeriesCollection(1).Values = Array(1, 3, 5, 7, 11, 13, 17, 19)
Greetz Renne
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige