VBA: chart copy als Bild - Problem bei Datenformat

Bild

Betrifft: VBA: chart copy als Bild - Problem bei Datenformat
von: mathis
Geschrieben am: 06.08.2015 10:29:22

Hallo Liebe Excel Gemeinde,
mich quält ein Problem, bei dem ich für jeden Tipp sehr dankbar bin. Folgendes Szenario:
Zwei Tabellenblätter. Auf dem ersten ("1") wird nur das Chart als Bild eingefügt. Auf dem zweiten Tabellenblatt ("2") sind das Excel Chart und die Daten dazu. Die Daten sind in Mio € formatiert (0,00..):
Userbild
Per VBA wird das Chart jetzt als Bild kopiert ("B16" in Blatt "2" ist der erste Wert unter KW18):


Public Sub kopieren()
    Sheets("2").Select
    'Formatierung setzen
    range("B16").Select
    range(Selection, Selection.End(xlToRight)).Select
    
    'Nachdem das Format gesetzt wurde, ist die Formatierung des Charts kaputt
    'Beispiel: "100.000,,"
    Selection.NumberFormat = "0.00,,"
    
    'Nach Selection.Calculate ist die Formatierung des Charts korrekt
    Selection.Calculate
    
    'Nach ActiveSheet.Calculate ist die Formatierung wieder kaputt
    ActiveSheet.Calculate
    
    'Hat anscheinend keine Auswirkung
    DoEvents
    
    'Force reload Chart
    'Danach stimmt die Formatierung des Charts wieder
    ActiveSheet.ChartObjects("Diagramm 1").Activate
     For Each sc In ActiveChart.SeriesCollection
         sc.Select
         temp = sc.Formula
         sc.Formula = "=SERIES(,,1,1)"
         sc.Formula = temp
    Next sc
    'Kopieren
    ActiveChart.CopyPicture xlScreen, xlBitmap
    Sheets("1").Select
    range("A50").Select
    ActiveSheet.PasteSpecial Format:="Bild (PNG)", Link:=False, DisplayAsIcon _
         :=False
End Sub


Das Ergebnis auf Blatt "1":
Userbild
Die Formatierung der Datentabelle ist zerstört, obwohl ich vorher extra die Formatierung gesetzt habe, Calculate ausgeführt habe, den Chart aktualisiert habe.
Beim Debuggen hat das Chart bei "ActiveChart.CopyPicture" auf Blatt "2" die korrekte Formatierung. Auch nach Ausführung des Makros hat das Chart noch die korrekte Formatierung wie in Bild 1.
Ich habe die Daten auch schon auf ein zweites Tabellenblatt ausgelagert, ohne Erfolg. Auch wenn ich die Kalkulation des Blatts/Anwendung weglasse oder beliebig kombiniere erziele ich keinen Erfolg.
Wenn ich den Chart manuell kopiere und als Bild einfüge, bleibt die Formatierung natürlich erhalten. Ich bin wie geschrieben für jeden Tipp dankbar, da ich hier nicht mehr weiterkomme. Vielen Dank und Grüße.

Bild

Betrifft: AW: VBA: chart copy als Bild - Problem bei Datenformat
von: Beverly
Geschrieben am: 07.08.2015 09:59:17
Hi,
mal eine generell andere Frage: weshalb das Diagramm als Bild einfügen? Weshalb erstellst du nicht einfach nur eine Kopie des Diagramms?




 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA: chart copy als Bild - Problem bei Datenformat"