PDA

Vollständige Version anzeigen : Diagramm Gruppierung


DubWay
01.07.2015, 12:08
Guten Tag miteinander,
habe gerade ein Problem mit der Gruppierung von Diagrammen. Sprich habe 2 überlappende Diagramme die zusammen eine Art Tachodiagramm darstellen. Diese habe ich der Einfachheithalber gruppiert.
Nun möchte ich besagte Diagramme gerne in ein Worddokument übertragen.
Hierfür habe ich folgendes Makro aus einem vorherigen Thread von mir.
Sub DiagrammInWord()

'Variablendeklaration
Dim objChart As Chart 'Diagrammblätter
Dim wdApp As Object 'Word-Dokument
Dim i As Integer 'Zählvariable
Dim cDateiName As String

cDateiName = "test123"

'neues Word-Dokument erstellen
Set wdApp = CreateObject("word.application")

With wdApp.Application
.Visible = True
.Documents.Add

'Schleife durchlaufen und alle verfügbaren Diagramme in Word-Dokument einfügen
For i = 1 To Charts.Count

Set objChart = Charts(i)
objChart.ChartArea.Copy
.ActiveDocument.PageSetup.Orientation = 1
.Selection.PasteSpecial Link:=False

Set objChart = Nothing

Next i

'Pfad ändern wo gespeichert wird
.ChangeFileOpenDirectory "C:\Users\Werkstudent.produkti\Desktop\"

'Datei speichern
.ActiveDocument.SaveAs Filename:=cDateiName

End With

Set wdApp = Nothing

End Sub

Nur wenn ich besagte Gruppierung in ein extra Diagrammtabellenblatt verschieben möchte um obigen Code zu benutzen "zerschießt" es mir die farbe Formatierung etc.

Hat hierfür vlt. jemand eine Idee wie ich das ganze anders/besser machen könnte?
Habe auch schon versucht mit Druckbereich anpassen das Ganze zu bewerkstelligen, jedoch kommt hierbei die Überlappung der beiden Diagramme zum Vorschein.
Weiterhin habe ich mittels Word-Vorlage versucht die Diagramme dynamisch einzufügen, was jedoch auch nicht wirklich funktioniert hat.

Hoffe mir kann jemand hierbei helfen :) Vielen Dank schonmal

Gruß Carsten

Beverly
01.07.2015, 14:59
Hi Carsten,

kopiere nicht das Diagramm sondern die Gruppierung (bzw. Shape) nach Word.


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

DubWay
01.07.2015, 15:18
Hi Beverly,
meinst du jetzt einfach per Copy&Paste oder mittels VBA?

Wenn ich die Shape mittels Makroaufzeichnung auswähle erhalte ich folgenden Code
ActiveSheet.Shapes.Range(Array("Group 29")).Select
Wenn ich diesen jetzt benutzen will und obigen Code umändere kommt immer die Fehlermeldung
"Objekt unterstützt diese Methode oder Eigenschaft nicht"

Wenn es aber mittels VBA doch nicht so einfach geht muss ich es einfach händisch Copy&Paste, aber wäre schon "schöner" wenn durch VBA alles automatisch vonstatten geht :)

Gruß Carsten

Beverly
01.07.2015, 15:32
Hi Carsten,

ich meine das so:

'Schleife durchlaufen und alle verfügbaren Diagramme in Word-Dokument einfügen
Dim shaShape As Shape
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Copy
.ActiveDocument.PageSetup.Orientation = 1
.Selection.PasteSpecial Link:=False
Next i


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

DubWay
06.07.2015, 07:14
Hi Beverly,
sorry für die verspätete Antwort.
Funktioniert wunderbar danke dir. Das gezielte positionieren der Diagramme werde ich alleine hinbekommen :)

Gruß Carsten