Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1048to1052
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

Löschen von Datenreihen in XY Diagramm

Löschen von Datenreihen in XY Diagramm
17.02.2009 13:08:00
Datenreihen
Hallo Liebe Excel-Experten,
Dieses Problem habe ich bereits in einem anderen Forum gepostet. Dort konnte aber leider niemand mein Problem lösen. Deshalb habe ich es im anderen Forum als erledigt markiert und erwarte auch keine Antwort mehr.
Viel mehr hoffe ich, dass Ihr mir weiterhelfen könnte und ich nicht gegen irgendwelche Crossposting-Regeln verstoße.
momentan kämpfe ich mit folgendem Problem:
Es werden in varibel vielen Arbeitsblättern (erkennbar an dem m, s.u) jeweils 2 XY-Blankodiagramme eingefügt. In diesen werden jeweils 16 Datenreihen mit Namen "USB S1", "USB S2", ..., "USB S16" generiert, die als y-Wert die {1} beinhalten, die x-Reihen werden nicht befüllt.
Anschließend werden alle Diagramme durch ein zufälliges Muster mit Werten aus Datensätzen belegt. Dabei kann es vorkommen, dass einige Datenreihen "leer" bleiben.
Bis hierher funktioniert das ganze auch wunderbar.
Nun möchte ich alle überflüssigen Datenreihen (die, die keine Daten enthalten) per vba löschen. Ich habe entweder die Möglichkeit dies zu tun, indem ich auf Inhalt der x-Reihe prüfe (wenn "", dann lösche) oder aber über den jeweiligen Datenreihennamen, da sich dieser variabel ändert, wenn x-Werte eingetragen werden.
Jetzt erhalte ich wenn ich die x-Datenreihen vergleiche den Laufzeitfehler 13 - Typen unverträglich.
Wenn ich die Namen vergleiche, dann erhalte ich Laufzeitfehler 1004 - Die Methode 'SeriesCollection' für das Objekt '_Chart' ist fehlgeschlagen.
Hier der Code des Makros mit beiden Varianten.

Option Explicit
Public m As Integer
Public Sub loeschen_leerer_Datenreihen()
m = Sheets("Startblatt").Range("A1")
'Löschen der jeweils überflüssigen Datenreihen
Dim x As Long
Dim i As Long
Dim Reihenname As String
For i = 1 To m
Sheets("Endprotokoll_Kunde_" & i).Select
ActiveSheet.ChartObjects("Kunde_" & i & "_I").Activate
For x = 1 To 16
Reihenname = "USB S" & x
If ActiveChart.SeriesCollection(x).name = Reihenname Then
' If ActiveChart.SeriesCollection(x).XValues = "" Then
ActiveChart.SeriesCollection(x).Delete
End If
Next x
Next i
End Sub


Ferner habe ich eine Beispielmappe angefügt, damit mein Problem besser verständlich wird.
https://www.herber.de/bbs/user/59533.xls
Schon mal vielen Dank für Eure Hilfe.
Liebe Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Datenreihen in XY Diagramm
17.02.2009 13:43:00
Datenreihen
Hi,
ich hoffe mal, du hast in dem anderen Forum den Helfern ausreichend Zeit gegeben um auf deine Frage zu reagieren. Außerdem wäre es nur fair, falls du hier eine Lösung für dein Problem erhalten solltest, diese auch in dem anderen Forum zu posten.

Public Sub loeschen_leerer_Datenreihen()
Dim chDiagramm As Chart
Dim arrX_Werte()
m = Sheets("Startblatt").Range("A1")
'Löschen der jeweils überflüssigen Datenreihen
Dim x As Long
Dim i As Long
Dim Reihenname As String
For i = 1 To m
Set chDiagramm = Sheets("Endprotokoll_" & i).ChartObjects("Kunde_" & i & "_I").Chart
For x = 16 To 1 Step -1
On Error Resume Next
arrX_Werte() = chDiagramm.SeriesCollection(x).XValues
If UBound(arrX_Werte()) = LBound(arrX_Werte()) Then chDiagramm.SeriesCollection(x). _
Delete
On Error GoTo 0
Next x
Next i
Set chDiagramm = Nothing
End Sub




Anzeige
AW: Löschen von Datenreihen in XY Diagramm
17.02.2009 14:21:00
Datenreihen
Hey, dass ging ja super schnell :) Vielen Dank für die tolle Lösung. Im anderen Forum habe ich diese Frage am 22.1.09 erstellt und noch keinen Lösungsansatz erhalten.
Sie funktioniert einwandfrei =)
Eine Sache fällt mir im Nachhinein noch auf:
Und zwar kann es auch passieren, dass sich in Diagrammen nur leere Datenreihen befinden, somit sich nur noch eine weiße Fläche nach dem Löschen der Datenreihen im Tabellenblatt befindet. Wie kann ich denn die leeren Diagramme (bzw. die weiße Fläche) denn nun löschen?

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige