VBA dynamisch die Quellenangabe von Graphen Diagramme ändern

B

ByeBye 154279

Hallo zusammen,

ich möchte gerne die Datenquelle Graphen/Diagramme dynamisch ändern.
Dies gelingt mir auch, indem ich die Variablen XValues und Values einer SeriesCollection ändere.

Jedoch erhalte ich einen Fehler, wenn ich einzelne Zellen im Datenbereich via Range.Delete lösche oder kopiere. ( im Anschluss daran werden die Zellen wieder befüllt).
Nachdem ich die Daten selektiv gelöscht habe, lasse ich meine Diagramme wieder neumalen ( XValues/Values).

Im Anschluss daran erhalte ich jedoch "In diesem Arbeitsblatt, in dem ..." -Fehler.

Ich glaube, dass er den Bezug zu den verschoben/gelöschten Zeilen automatisch anpassen möchte. Da er aber diese nicht findet, hat er temporär "#Bezug"-Fehler, jedoch werden die Datenquellen der Graohen neugesetzt.
Ich habe alle einzelnen Diagramme bzw deren Datenquelle auf "#Bezug" - Fehler untersucht, jedoch werden alle Quellen korrekt erkannt.

Kann mir jemand einen Ratschlag oder Tipp geben?
Vergesse ich einen Befehl?

Vielen Dank.

mfg
bo
 
Hast du eine Excel-Tabelle zur Hand? Ein Blatt so wie es anfangs ist, eines so wie es dann sein sollte und etwas Beschreibung dazu.


Der Doc!
 
Hey,

ich kann im Moment keine Datei zukommen lassen.

EIne andere Frage, dessen Antwort mein PRoblem eigentlich auch lösen kann:
Wie kann ich im VBA Makro die automatische Zellreferenzierung deaktivieren?

Die Datenquelle soll z.B. auf "A4" bleiben, wenn ich den Bereich "A2-A5" (per Range.Delete) lösche, soll "A4" als Quelle weiterhin bestehen bleiben, leider versucht er dann kurzzeitig die Referenz zu suchen, anschließend erhalte ich aber jedesmal "In diesem Arbeitsblatt ..." -Fehler.

Sobald ich die Daten neuöffne (schließen...öffnen), dann erhalte ich keinen Fehler,
erst wenn ich den Quellbereich per Range.Copy / .Delete löschen oder überschreiben möchte.

mfg
bo
 
Das einzige, was mir einfällt, ist die Formeln mittels relativen Bezügen nach einer Änderung wieder anzupassen. Mit der Zeile
Visual Basic:
ActiveSheet.Cells(1, 4).FormulaR1C1 = "=R[5]C[-3]+R[5]C[-2]"
würde ich in Zelle D1 die Summe von A6 + B6 anzeigen, wenn du das ganze z.B. in das Worksheet_Change-Ereignis einfügst und anpasst, kannst du nach löschen einer Zeile die ursprünglichen Verweise wieder herstellen.


Der Doc!
 
Hey,

danke für die Antwort.
Aber kann man R1C1 Formeln als Datenquelle für einzelne SeriesCollections benutzen?

mfg
bo
 
Und damit wären wir wieder beim Thema Beispieldatei, so kann man am effektivsten testen, wie das ganze sich angehen lässt.


Der Doc!
 
Hallo miteinander,

Danke für die Vorschläge.
Habe mein Problem nun beseitig bzw. umgehe es nun.

Bevor ich das Datenblatt mit den Quelldaten für die Charts fülle, selektiere ich die unnötigen Daten schon heraus. Damit ist ein nachträgliches selektives Löschen der Datenquelle unnötig.

Vielen Dank

mfg
bo
 

Neue Beiträge

Zurück