Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen und Ersetzen in Diagrammen

Suchen und Ersetzen in Diagrammen
19.04.2007 15:46:02
Torsten
Hallo
ich habe ein Excel-Tabellenblatt mit 30 kleinen Diagrammen (HP 9 Diag), die auf Datenfelder eines anderen Tabellenblatts (HP 9 Werte) referieren.
Die Tabellenblätter habe ich kopiert und umbenannt (HP 8 Diag, HP 8 Werte) und mit "Suchen und Ersetzen" auch die Referenzen in den Zellen ersetzen können (HP 9 durch HP 8). Leider wurden die 30 Diagramme in den Vorgang nicht mit einbezogen. Obwohl die Zellen die gleichen sind, nur eben die Blätter nicht.
Gibt es eine Möglichkeit, diesen Vorgang zu automatisieren? Sonst muss ich duch 30 Diagramme klicken. Und das ganze dann auch noch für HP 1, HP 2, HP 3, HP 4, HP... bis HP 7.
Kennt sich jemand damit aus?
Torsten

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Ersetzen in Diagrammen
19.04.2007 19:09:09
ingUR
Hallo, Torsten,
beim dialoggeführten Kopieren eines Tabellenblatts werden doch in der Regel die eingebettenten Diagramme des Tabellenblatts mitkopiert und die Datenreihenbezüge auf den Tabellenblattnamen der Kopie verändert; aus "HP 9 Diag" wird "HP 9 Diag (2)"
Wird nun der Tabellenblattname auf dem Reiter geändert, so ändern sich auch die Bezüge der Datenreihen in den eingebettenn Diagrammen der Seite. So wird z.B. wird aus =DATENREIHE(;;'HP 9 Diag (2)'!$C$2:$C$12;1) nach Umbennenung der Tabelle in "HP8 Diag" der Datenreihen-Referenzeintrag "=DATENREIHE(;;'HP8 Diag'!$C$2:$C$12;1)"
Wo also ist das Problem enstanden?
Es würde Zeit kosten, die besser für andere Lösungssuchen eingesetzt werden kann, wenn ich versuchen würde, mir eine für Deine Aufgabe, so wie ich meine sie zu verstehen, adäquate EXCEL-Beispielmappe zu erstellen, und ich wäre nicht einmal sicher, ob Dein Problematiken damit ausreichend vollständig beschrieben wäre. Vielleicht kannst Du zwei Arbeitsblätter mit Beispieleinträgen und Diagrammen hochladen, die erkennen lassen, was alles zu ändern ist, denn es ist sehr wohl möglich, automatisch die Datenreihen-Referenzen der eingebetten Diagramme unter Beachtung des aktiven Tabellennamens zu setzen.
Gruß.
Uwe

Anzeige
AW: Suchen und Ersetzen in Diagrammen
20.04.2007 13:52:50
Torsten
Hallo Uwe,
danke für die Hilfe. Aber die Datenreihen in den Diagrammen lässt Excel beim Kopieren von Blättern hübsch in Ruhe. Irgendwie auch logisch. Wenn die Diagramme eines Blattes "HP 9 Dia" auf die Daten des Blattes "HP 9 Tab" verweisen, warum sollte sich daran etwas ändern, nur weil "HP 9 Tab" unter z. B. "HP 8 Tab" kopiert wird. Und beim Kopieren eines Blattes mit Diagrammen "HP 9 Dia" nach "HP 8 Dia" passiert auch nichts, denn woher sollen die Diagramme der Kopie wissen, von welchem Blatt sie ihre Daten holen sollen?
Ein Beispiel habe ich hier: https://www.herber.de/bbs/user/41910.xls
Ich komme mit meinem Wissen hier nicht weiter.
Beste Grüße
Torsten

Anzeige
AW: Suchen und Ersetzen in Diagrammen
20.04.2007 15:42:00
ingUR
Gallo, Torsten,
danke für das Bereitsstellen einer Beispieltabelle mit Diagrammen.
Ich selber werde wohl erst morgen oder aber am Sonntag wieder Zeit finden, um den Versuch zu starten, Deine beschriebene Problematik mit den Diagrammen nachzuvollziehen.
Vielleicht gibt es aber auch bis dahin von anderer Seite den klärenden Hinweis.
Gruß,
Uwe

AW: Suchen und Ersetzen in Diagrammen
20.04.2007 17:53:00
ingUR
Hallo, Torsten,
bitte die nachfolgende Routine in einer Kopie der Arbeitsmappe ausführen, bevor das Ergebnis auf die endgültige Fassung übertragen wird, da bei der Untersuchung festgestellt wurde, dass es Datenserien(1) gab, deren Wertebezüge fehlerhaft sind ("#REF"") und die entsprechenden ChartObjekte gelöscht werden.
Falls dieses nicht erwünscht ist, ist die Zeile chtObj.Delete auszukommentieren oder zu entfernen. Der Hinweis für diese Fälle kann ggf. ebenso auskommentiert werden.
Die Prozedur ist in einem Standardmodulordner des VBA-Projektes in der Entwicklerumgebung abzulegen.
Der Aufruf kann aus einer beliebigen Tabelle der Mappe erfolgen [Strg][F8] :: ChgDataSeriesRef :: Ausführen.
Achtung: In der Arbeitsmappe werden ALLE Diagramme auf Tabellen, deren Tabellennamen den Bestandteil "Doku" sufweist, werden bearbeitet und jede Referenz wird durch "HP X Tab" ersetzt, wobei das X für die Ordnungszahl steht, die aus dem Tabellennamen hergeleitet wird.

Option Explicit
Sub ChgDataSeriesRef()
Dim ws As Worksheet, wsName As String
Dim chtObj As ChartObject, cht As Chart
Dim s As Integer, strF As String
For Each ws In Worksheets
ws.Activate
wsName = ws.Name
For Each chtObj In ActiveSheet.ChartObjects
If InStr(wsName, "Doku") Then wsName = Replace(wsName, "Doku", "Tab")
chtObj.Activate
With ActiveChart
strF = .SeriesCollection(1).Formula
If InStr(strF, "#REF") Then
MsgBox "Fehlerhafter Bezug im Chart (" & chtObj.Chart.Name & "): " & strF
chtObj.Delete
Else
.SeriesCollection(1).Formula = CheckWorksheetName(wsName, strF)
End If
End With
Next
Next
End Sub
Private Function CheckWorksheetName(wsName As String, strF As String) As String
Dim p1 As Integer, p2 As Integer
p1 = -1
p2 = -1
p1 = InStr(1, strF, wsName) 'Suche wsName für X-Werte
p2 = InStr(p1 + 1, strF, wsName) ' suche wsName für Y-Achse
If p2 

Viel Erfolg!
Uwe

Anzeige
AW: Suchen und Ersetzen in Diagrammen
23.04.2007 10:41:00
Torsten
Hallo Uwe,
alle Achtung, dass hat gepasst. Meinen allerherzlichsten Dank!!
Torsten

284 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige