Kopieren eines Diagramms von Excel nach Powerpoint ändert Datumformatierung

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Adleano.

    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
    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).
    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?