gobothehero

Excel in VBS Chart-Datenbereich für x- und y-Achse vorgeben ...

Hallo =)
Ich habe Probleme beim Vergeben der Wertebereiche für ein erstelltes Chart.
Ich habe über ein Makro das Verändern der Wertebereiche gemacht und würde das jetzt gerne über mein VBScript steuern.

Der Fehler kommt bei der Zeile .SeriesCollection.NewSeries "Objekt erforderlich: 'SeriesCollection'"
Was mache ich falsch =(

dim objChart1
set objChart1 = xlw.Charts.Add
with xlw.ActiveChart
.ChartType = xlXYScatterLines
.SetSourceData xls.Range("K3:K6428"), xlColumns
.HasTitle = True
.ChartTitle.Characters.Text = ChartText
.Location xlLocationAsObject, "Tabelle2" 'xlLocationAsObject

.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = "=Tabelle1!R3C11:R752C11"
.SeriesCollection(1).Values = "=Tabelle1!R3C12:R752C12"
.SeriesCollection(1).Name = "=""H2 [Vol%]"""

End With
With xlw.ActiveChart.Parent
.Top = 0
.Left = 0
.width = 1200
.height = 500
End With
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 249802

Url: https://administrator.de/forum/excel-in-vbs-chart-datenbereich-fuer-x-und-y-achse-vorgeben-249802.html

Ausgedruckt am: 21.05.2025 um 00:05 Uhr

116301
116301 22.09.2014 um 13:55:20 Uhr
Goto Top
Hallo GobotheHero!

Sollte in etwa so gehen:
    With Sheets("Tabelle1") 
        .ChartObjects.Add Top:=0, Left:=0, Height:=500, Width:=1200
         With .ChartObjects(1).Chart
            .ChartType = xlXYScatterLines
            '...... 
            '...... 
         End With
    End With

Gruß Dieter
GobotheHero
GobotheHero 23.09.2014 um 06:52:43 Uhr
Goto Top
Hi danke für die Antowort =)

Es handelt sich hier um VBScript.

Im Moment kann ich halt keine neue Reihe auf machen. Ich raffe irgendwie nicht wie ich an ein SeriesCollection-Objekt heran komme.
Ich dachte das wäre teil von einem Chart !?

with xlw.ActiveChart
.SeriesCollection.NewSeries
116301
Lösung 116301 23.09.2014, aktualisiert am 09.10.2014 um 09:56:58 Uhr
Goto Top
Hallo GobotheHero!

Das Problem ist, dass Du einen Mischmasch zwischen einem Diagrammblatt und einem eingebetteten Diagramm hast/machst.
D.h. Du erstellst erst ein Diagrammblatt (Diagramm1) und machst dann daraus ein eingebettetes Diagramm (.Location) in Tabelle2. Bei dem Diagrammblatt kann keine Breite/Höhe verändert werden. Bei Verwendung von .Location, wird die SeriesCollection dann nach dem 'With End' im ActiveChart festgelegt:
objWkb.ActiveChart.SeriesCollection.NewSeries
objWkb.ActiveChart.SeriesCollection(1).XValues = "=Tabelle1!R3C11:R752C11"  
.....

Ich persönlich hätte erst ein neues Sheet erstellt und das Chart dann anhand meines vorigen Postes eingefügt...

Grüße Dieter