Du bist nicht angemeldet.

Adleano

Registrierter Benutzer

  • »Adleano« ist der Autor dieses Themas

Beiträge: 2

Dabei seit: 2. September 2010

  • Private Nachricht senden

1

Donnerstag, 2. September 2010, 15:17

Kopieren eines Diagramms von Excel nach Powerpoint ändert Datumformatierung

Hallo zusammen,

bin neu hier und habe vor kurzem angefangen mich mit VBA zu beschäftigen. Beim kopieren von einem Diagramm aus Excel nach Powerpoint habe ich ein Phänomen, für das ich keine Erklärung habe:

Nachfolgende Sub kopiert mir alle Diagrammblätter eines Excel-Workbooks nach Powerpoint.
In den Diagrammen hat die X-Achse eine Datum-Formatierung (tt.mm.yyyy) Nach dem Einfügen in Powerpoint zeigt die Grafik das Datumformat allerdings so an: mm.tt.yyyy

Frage:
Wie kriegt ich das hin, dass ermir das Datum in dem ersten Format (tt.mm.yyyy) anzeigt?

Code:
Sub CopyDiagrammGes(ppAnwendung As Object, ppPres As PowerPoint.Presentation, Optional Name As String)
Dim zaehler As Long
Dim ppSlide As PowerPoint.Slide
Dim cht As Object

Sheets("Gesamt-Status").Activate
zaehler = ppPres.Slides.count
Set ppSlide = ppPres.Slides.Add(zaehler + 1, ppLayoutText)
'Diagrammblätter kopieren
For Each cht In ActiveWorkbook.Charts
cht.CopyPicture xlScreen, xlPicture
'cht.CopyPicture xlScreen, xlBitmap, xlScreen
Next
ppPres.Slides(zaehler + 1).Select
With ppAnwendung.ActiveWindow
.ViewType = ppViewSlide
.View.Paste
End With
Application.CutCopyMode = False
With ppAnwendung.ActiveWindow.Selection.ShapeRange
.Top = 200
.Left = 100
'.Width = 300
.Height = 300
End With
End Sub

Ich arbeite mit Office 2003 (VBA 6.5) auf einem Win-XP Rechner

Gruß
Adleano

INOPIAE

Registrierter Benutzer

Beiträge: 1 478

Dabei seit: 18. Januar 2009

Hilfreich-Bewertungen: 3

  • Private Nachricht senden

2

Freitag, 3. September 2010, 06:17

Zwei Dinge
1. So wie Deine For - Schleife aussieht, bekommst Du nur ein Diagramm, nämlich das letzte kopiert.
2. Ich würde Dir statt Paste Paste-Special empfehlen. Dabei solltest Du auch keine Schwierigkeiten mit dem Format haben.

NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

Adleano

Registrierter Benutzer

  • »Adleano« ist der Autor dieses Themas

Beiträge: 2

Dabei seit: 2. September 2010

  • Private Nachricht senden

3

Montag, 6. September 2010, 12:34

Vielen Dank für den Tipp :-),

ich habe die Sub nun geändert und ein paar dinge versucht, aber in Powerpoint landet das Diagramm immer noch mit dem falschen Format der Datumsanzeige.

Code:

Sub CopyDiagrammGes(ppAnwendung As Object, ppPres As PowerPoint.Presentation, Optional name As String)
Dim zaehler As Long
Dim ppSlide As PowerPoint.Slide

Sheets("Gesamt-Status").Activate
zaehler = ppPres.Slides.count
Set ppSlide = ppPres.Slides.Add(zaehler + 1, ppLayoutText)
'Diagrammblatt Gesamtstatus kopieren
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture xlScreen, xlPicture
ppPres.Slides(zaehler + 1).Select
ppPres.Slides(zaehler + 1).Shapes.PasteSpecial DataType:=ppPasteMetafilePicture
Application.CutCopyMode = False
ppPres.Slides(zaehler + 1).Select
ppPres.Slides(zaehler + 1).Shapes(3).Select
Application.CutCopyMode = False
With ppAnwendung.ActiveWindow.Selection.ShapeRange
.Top = 200
.Left = 100
'.Width = 300
.Height = 300
End With
End Sub

Weiß jemand woran das liegen könnte oder was mache ich falsch?