Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Chart mit varierendem Datenbereich in VBA

Chart mit varierendem Datenbereich in VBA
15.01.2007 21:57:16
Johannes
Hi leute,
ich habe ein Problem mit einem Chart in VBA.
Ich moechte das ein von mir erstelltes Chart auf einen sich veraendernden Datenbereich zugreift. Der Zellenbereich erstreckt sich von der Spalte 2 bis zu einer sich aendernden Spalten Anzahl. (Z.B. Bereich fuer Serie 1 ist von B2 bis B15, Serie 2 von C2 bis C15, ...) Es varieert also nur die hintere Spalte. Die Zeile ist auch fuer jede Serie fest. (Serie 1 = B, serie 2 = C, Serie 3 = D)
Die aktuelle Spaltengroesse ist in der Variablen G enthalten
Ich habe das ganze ausprobiert mit:
ActiveChart.SeriesCollection(1).XValues = "=MachiningScrap!R1C2:" & CellAdress & ""
aber das hat er bei mir nicht akzeptiert.
Falls jemand eine Idee hat, vielen Dank im voraus!!!
Der Originalcode ist folgender:

Sub ChartDataSort()
' ChartDataSort Macro
' Macro recorded 1/15/2007 by
G = DateDiff("d", Sheet3.TextBox1.Value, Sheet3.TextBox2.Value) + 1
Sheets("MachiningScrap").Select
Range("A2").Select
Do
Cells("1", ActiveCell.Column + 1).Select
CellAdress = ActiveCell.Address
G = G - 1
Loop While G <> 0
Sheets("Data").Select
ActiveSheet.ChartObjects("Chart 7").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).XValues = "=MachiningScrap!R1C2:R1C16"
ActiveChart.SeriesCollection(1).Values = "=MachiningScrap!R2C2:R2C16"
ActiveChart.SeriesCollection(1).Name = "=MachiningScrap!R2C1"
ActiveChart.SeriesCollection(2).XValues = "=MachiningScrap!R1C2:R1C16"
ActiveChart.SeriesCollection(2).Values = "=MachiningScrap!R3C2:R3C16"
ActiveChart.SeriesCollection(2).Name = "=MachiningScrap!R3C1"
ActiveChart.SeriesCollection(3).XValues = "=MachiningScrap!R1C2:R1C16"
ActiveChart.SeriesCollection(3).Values = "=MachiningScrap!R4C2:R4C16"
ActiveChart.SeriesCollection(3).Name = "=MachiningScrap!R4C1"
ActiveWindow.Visible = False
Windows("scrap project GMPT Block V8 5.3L.xls").Activate
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Chart mit varierendem Datenbereich in VBA
15.01.2007 22:28:09
Daniel
Hallo
dein Problem ist, daß die Stringvariable CellAdress die Zell-Addresse in der A1-schreibweise enthält.
Soweit ich weiß, braucht Excel in den Wertebereichen der Charts die R1C1-Schreibweise der Addresse, und was überhaupt nicht geht, ist die Mischung aus beiden Schreibweisen, so wie du es machst.
Du musst diese Zeile:
CellAdress = ActiveCell.Address
so abändern:
CellAdress = ActiveCell.Address(1,1,xlR1C1)
Außderdem ist das letzte &"" in der Zeile überflüssig.
Ebenso wie die ganze Do-Schleife, mit
CellAdress = Range("A2").offset(0,G).Address(1,1,xlR1C1)
solltest du das gleiche erreichen. Noch einfacher ists, du schreibst, wenn G die Spalten-Nr. der letzten Spalte ist:
ActiveChart.SeriesCollection(1).XValues = "=MachiningScrap!R1C2:R1C" & G
sollte das noch nicht ganz passen, kannst du auch noch so variieren:
ActiveChart.SeriesCollection(1).XValues = "=MachiningScrap!R1C2:R1C" & G+1
Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige