Diagramm Bezug-angepasst kopieren

Diagramme, die beim Kopieren eines Tabellenblattes darin noch nicht vorhanden sind, halten unangepasst an ihren Bezügen fest, wenn man sie nachträglich kopiert. Verwendet man – wie ich es häufig tue – Namen, dann nutzt das bereits vorhandene Diagramm allerdings auch nichts! Die Namen werden zwar angelegt, das Diagramm verweist aber immer noch auf jene des ursprünglichen Tabellenblatts.
Da ich in Excel dafür keine Option finden konnte, war lange Zeit Handarbeit angesagt, aber immer öfter drängte sich der Gedanke eines Automatismus auf, der dies weitgehend erledigt.
Bevor ich selbst zu stricken beginne, mache ich mir immer bewusst, dass ich wohl nicht der Erste mit dieser Problematik sein dürfte! So wurde ich auf Beverly’s Excel-Inn fündig, wobei die zum Gratis-Download angebotene Datei “nur” Diagramme mit Zellbezügen zwischen 2 Tabellenblättern kopieren kann. Auf Peltier Technical Services, Inc., einer generell sehr empfehlenswerten Seite, müsste man ein umfangreiches Add-In käuflich erwerben, das ein Feature namens “Edit Series Formula” enthält.
Demzufolge wurde eine eigene App programmiert, die Folgendes kann:

  • Tabellenblätter samt deren Diagramme innerhalb der gerade geöffneten Arbeitsmappen kopieren oder verschieben, wobei die Bezüge aller Datenreihen angepasst werden;
  • Diagramme innerhalb der gerade geöffneten Tabellenblätter kopieren oder verschieben, wobei nur Bezüge auf Zellen erlaubt sind und identisch angepasst werden;
  • Tabellenblätter ohne Diagramme lassen sich der Vollständigkeit halber natürlich auch kopieren und verschieben, was Excel aber ohnehin anbietet.

Die folgende Arbeitsmappe enthält den für die beschriebenen Features benötigten VBA-Code, der von der Befehlsschaltfläche “Tabellenblatt und Diagramm verschieben und kopieren” aufgerufen wird:

Versionstabelle

PS: Die App verwendet zur strukturierten Darstellung der Arbeitsmappen, Tabellenblätter und Diagramme das ActiveX-Steuerelement TreeView von Microsoft. Beim Öffnen der Arbeitsmappe wird abhängig von der Einstellung in “DATEI > Optionen > Trust Center > Einstellungen für das Trust Center > ActiveX-Einstellungen” darauf reagiert. Im Falle von “Alle Steuerelemente ohne Benachrichtigung deaktivieren” ist die App nicht lauffähig.