Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

seriescollection

Forumthread: seriescollection

seriescollection
JoeRichi
Hallo
Ich möchte Grafiken bearbeiten welche eine unterschiedliche Anzahl von Wertereihen haben und zwar zwischen einer und 84. Die erste soll immer bestehen bleiben.
Zuerst wollte ich über eine Do loop Funktion arbeiten, jedoch meldet er einen Fehler wenn er die entsprechnende Reihe nicht findet, wenn es die Reihe gibt, löscht er sie aber ohne Probleme:
l=2
Do until l+1>84
Worksheets("Diagramm").activate
activesheet.chartobjects("Diagramm 3").activate
activechart.seriescollection(l).select
Selection.delete
l=l+1
loop
dann habe ich versucht alle zu löschen und die erste halt neu zu erstellen, aber ich find dafür nicht den richtigen Befehl (auch nicht in der Hilfe)
Worksheets("Diagramm").activate
activesheet.chartsobjects("Diagramm 3").activate
activechart.seriescollection.select
Selection.delete
Ich dachte wenn ich die Klammern weglasse nimmt er alle Reihen, er wählt aber gar keine aus (Fehler 438, Methode wird nicht unterstützt).
Danke für die Hilfe im Voraus
Mfg Josef
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: seriescollection
20.07.2010 21:17:07
fcs
Hallo Josef,
beim Löschen von Objekten über die Index-Nummer muss man immer von der höchsten zur niedrigsten arbeiten. Da die Index-Nummern nach jeder Löschung neu vergeben werden kommt es sonst zu Fehlern.
Gruß
Franz
Sub aaTest()
Dim oChart As Chart, l As Long
Worksheets("Diagramm").Activate
Set oChart = ActiveSheet.ChartObjects("Diagramm 3").Chart
With oChart
Application.ScreenUpdating = False
For l = .SeriesCollection.Count To 2 Step -1
.SeriesCollection(l).Delete
Next
Application.ScreenUpdating = True
End With
End Sub

Anzeige
AW: seriescollection
20.07.2010 23:38:53
Beverly
Hi Josef,
mit der Codezeile
   Worksheets("Diagramm").ChartObjects("Diagramm 3").Chart.ChartArea.ClearContents

werden alle vorhandenen Datenreihen auf einen Ritt gelöscht. Auf diese Weise sparst du die Schleife über alle Datenreihen.
Und mit der Codezeile
   Worksheets("Diagramm").ChartObjects("Diagramm 3").Chart.SeriesCollection.NewSeries

fügst du eine neue Datenreihe ein. Du musst dann nur noch den Wertebereich zuweisen.
Tipp: auch bei Diagrammen kann in VBA zu 99% auf Select und Activate verzichtet werden.


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