Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1164to1168
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
Inhaltsverzeichnis

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige