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
836to840
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
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige