VBA: Diagramm kopieren und dann benennen

Bild

Betrifft: VBA: Diagramm kopieren und dann benennen von: Doro
Geschrieben am: 08.04.2005 11:48:13

Hallo Zusammen,
habe folgendes Problem. Ich lasse via Makro insgesamt viermal ein Diagramm erzeugen, und als Chart angelegen (in Extra-Tabellenblättern). Dabei kann ich auch einen Namen vergeben. Am Ende des Makros möchte ich diese Charts nochmal kopieren, und auf einem Übersichtsblatt darstellen, also als eingebettete Diagramme. Habe weder rausgefunden, wie ich ihnen dann einen Namen geben kann, um sie bei update der Daten zu löschen (ActiveChart.Name = "name" funktioniert nicht), noch wie man einigermaßen komfortabel ne Größe angeben kann.
Hoffe, dass mir jemand helfen kann!
Grüße von Doro

Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: K.Rola
Geschrieben am: 08.04.2005 12:30:37

Hallo,

lad mal ein aufs Nötigste abgespecktes Beispiel hoch.

Gruß K.Rola


Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: Doro
Geschrieben am: 08.04.2005 12:48:37

Das ist extrem schwierig, das abzuspecken, weil da superviele Verknüpfungen drin sind. Soll ich nen Teil vom VBA Code kopieren?


Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: K.Rola
Geschrieben am: 08.04.2005 13:00:55

Hallo,

besser wär schon eine Mappe, dann könnte ich den Code dort einbauen.

Gruß K.Rola


Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: Doro
Geschrieben am: 08.04.2005 13:34:43

Sorry, ich darf die Daten nicht rausschicken. hab einen Teil vom Code kopiert:

Sheets("Original Diagram").Select
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy

Sheets("Overview").Select
Range("H1").Select
ActiveSheet.Paste

ActiveChart.Name = "New Diagram"

Soweit klappt das alles. Nur dass er dem neuen Diagramm keinen Namen zuordnet, und ich nicht weiß, wie ich die Größe ändern soll. Wobei VBA schon das eingefügte Diagramm als ActiveChart erkennt, ich ändere nämlich noch diverse andere Dinge. Hast Du ne Idee?


Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: K.Rola
Geschrieben am: 08.04.2005 14:48:28

Hallo,
eine Möglichkeit:
Option Explicit
Sub Chart_copy()
Dim i As Integer
Sheets("Original Diagram").ChartObjects(1).Chart.ChartArea.Copy
With Sheets("Overview")
  .Paste
   For i = 1 To .ChartObjects.Count
      .ChartObjects(i).Name = "DeinChart" & i
   Next
End With
With Sheets("Overview").ChartObjects("DeinChart1")
  .Height = 120
  .Width = 200
  .Top = 50
  .Left = 50
End With
End Sub


Gruß K.Rola


Bild


Betrifft: AW: VBA: Diagramm kopieren und dann benennen von: Doro
Geschrieben am: 13.04.2005 15:21:47

Hallo,
hat so nicht ganz geklappt, da ich das Makro mehrfach laufen lassen möchte. Dann sollen die Diagramme gelöscht werden und neue eingefügt werden. Daher klappt die For-Schleife nicht. Hab es aber anders gelöst, indem ich das Diagramm direkt nach dem Kopieren mit ChartObjects(.ActiveChart.ChartObjectsCount) "angesprochen" und umbenannt habe.
Trotzdem vielen Dank nochmal!
Doro


 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA: Diagramm kopieren und dann benennen"