Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel-Diagramm als Bild per VBA kopieren

Excel-Diagramm als Bild per VBA kopieren
04.02.2013 15:39:26
pat270881
Hallo Zusammen,
ich habe ein Diagramm, wo auf der x-Achse Datumswerte aufgetragen sind.
Wenn ich jetzt dieses Diagramm per Bild manuell kopiere und in einem anderen Tabellen-Blatt einfüge klappt das ohne Probleme.
Wenn ich jetzt dieselbe Aktion per VBA mache, wird in der kopierten Grafik die Datumswerte in einem anderen Format angezeigt.
Da ich mehrere von diesen Grafiken kopieren muss, wollte ich es eben per VBA machen, aber wie gesagt werden dann die Datumswerte auf der x-Achse immer anders dargestellt.
Quell-Grafik Format: tt.mm.yyyy - in der kopierten Grafik wird dann folgendes Format angezeigt: m.tt.yyyy.
Hat jemand eine Idee, wie ich das Ändern des Datumsformats beim Kopieren per VBA verhindern kann? ohne dass ich die Datumswerte in der Quell-Grafik auf Text ändere?
vielen Dank und viele Grüsse
pati

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA: Excel-Diagramm als Bild kopieren
04.02.2013 16:56:25
NoNet
Hallo Pati,
ich habe keine Ahnung, mit welchem Code Du das Diagramm kopierst und welche Details das Diagramm enthält, aber mit einem einfachen Diagramm funktioniert das zumindest mit folgendem Code einwandfrei (Excel 2010) :
Sub DiagrammAlsBildKopieren()
ActiveSheet.ChartObjects("Diagramm 1").CopyPicture
Sheets("Tabelle2").Paste
End Sub
Salut, NoNet

Anzeige
AW: VBA: Excel-Diagramm als Bild kopieren
04.02.2013 17:00:52
pat270881
Hallo Zusammen,
vielen dank für das Feedback, genau mit dieser Funktion habe ich es auch probiert, aber es wird eben das Datumsformat geändert.
Versuch es mal mit dieser Tabelle:
A B
04.02.2013 5 5
05.02.2013 6 8
06.02.2013 5 9
07.02.2013 4 5
08.02.2013 1 4
09.02.2013 2 4
10.02.2013 3 8
11.02.2013 6 9
12.02.2013 9 7
13.02.2013 8 8
14.02.2013 7 5
15.02.2013 4 4
16.02.2013 5 3
17.02.2013 6 8
18.02.2013 1 9
19.02.2013 3 5
Wenn du darauf ein Diagramm erstellst und dieses dann per VBA und CopyPicture auf das 2. Tabellenblatt kopierst, wird das Datum jeweils umformatiert und zwar in das Format m.t.jjj.
lg pati

Anzeige
AW: VBA: Excel-Diagramm als Bild kopieren
04.02.2013 19:10:36
Beverly
Hi Pati,
das ist wohl ein Problem von Excel2003. Ich habe leider keine Möglichkeit gefunden, wie man das abstellen kann. Der einzige Lösungsweg der zu funktionieren scheint ist, das Diagramm als Bild zu exportieren und dann als Bild einzufügen:
Sub diagramm_exportieren()
'   Diagramm als JPG-Datei exportieren
ActiveSheet.ChartObjects(1).Chart.Export Filename:="C:\Test\TestBildxxxx.jpg", FilterName:=" _
JPG"
'   Als Bild in Tabelle2 einfügen
Worksheets("Tabelle2").Pictures.Insert ("C:\Test\TestBildxxxx.jpg")
'   abgelegtes Bild löschen
Kill "C:\Test\TestBildxxxx.jpg"
End Sub
Den Speicherort für das Bild musst du bitte an deine Bedingungen anpassen. Zu empfehlen ist, einen solchen Bildnamen zu wählen, der "standardmäßig" nicht vorkommt, damit ein bereits vorhandenes (anderes) Bild nicht überschrieben wird, denn es erfolgt keine Rückfrage dazu.


Anzeige
AW: VBA: Excel-Diagramm als Bild kopieren
06.02.2013 10:02:15
pat270881
Hi,
vielen Dank für die schnelle Antwort und den Workaround, habe mir sowas in der Art schon gedacht. :(
Ich habe jetzt einfach das Format in der Quellgrafik geändert (Monat wird auch mit angezeigt), dann wird das Format beim Kopieren nicht mehr verändert.
viele Grüsse
pati
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel-Diagramm als Bild kopieren und speichern


Schritt-für-Schritt-Anleitung

Um ein Diagramm aus Excel als Bild zu kopieren, kannst Du folgenden VBA-Code verwenden. Dieser Code exportiert das Diagramm als JPG-Datei und fügt es in ein anderes Tabellenblatt ein:

Sub diagramm_exportieren()
    ' Diagramm als JPG-Datei exportieren
    ActiveSheet.ChartObjects(1).Chart.Export Filename:="C:\Test\TestBildxxxx.jpg", FilterName:="JPG"
    ' Als Bild in Tabelle2 einfügen
    Worksheets("Tabelle2").Pictures.Insert ("C:\Test\TestBildxxxx.jpg")
    ' Abgelegtes Bild löschen
    Kill "C:\Test\TestBildxxxx.jpg"
End Sub

Achte darauf, den Speicherort für das Bild anzupassen. Mit diesem Code kannst Du das Diagramm als Bild speichern und sicherstellen, dass das Datumsformat beim Kopieren beibehalten wird.


Häufige Fehler und Lösungen

Ein häufiger Fehler beim Kopieren von Diagrammen per VBA ist die Änderung des Datumsformats. Wenn Du feststellst, dass die Datumswerte in der kopierten Grafik anders angezeigt werden, kannst Du diesen Workaround verwenden:

  • Stelle sicher, dass das Diagramm als Bild exportiert wird, bevor Du es einfügst.
  • Vermeide die Verwendung von CopyPicture, da diese Methode oft zu Formatänderungen führt.

Für Benutzer von Excel 2003 könnte es hilfreich sein, das Diagramm als Bild zu exportieren, wie im obigen VBA-Beispiel gezeigt.


Alternative Methoden

Wenn Du das Diagramm in ein anderes Tabellenblatt kopieren möchtest, gibt es auch die Möglichkeit, das Diagramm direkt zu duplizieren:

Sub DiagrammDuplizieren()
    ActiveSheet.ChartObjects("Diagramm 1").Duplicate
End Sub

Diese Methode könnte Dir helfen, Probleme mit der Formatierung zu vermeiden, ist jedoch nicht immer die beste Wahl, wenn Du das Diagramm als Bild benötigst.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du ein Diagramm erstellen und als Bild speichern kannst:

  1. Erstelle ein Diagramm aus einer Datenreihe in Excel.
  2. Verwende den oben genannten Code, um das Diagramm als JPG zu exportieren und in ein anderes Tabellenblatt einzufügen.
  3. Teste, ob das Datumsformat korrekt bleibt.

Das Diagramm kann auch als PNG gespeichert werden, indem Du den Filter FilterName:="PNG" im Export-Code änderst.


Tipps für Profis

  • Um Bilder kopieren ohne Datumsänderung zu gewährleisten, exportiere das Diagramm immer zuerst als Bild.
  • Benutze eindeutige Dateinamen für die exportierten Bilder, um Überschreibungen zu vermeiden.
  • Achte darauf, dass Dein Code in der richtigen Excel-Version getestet wird, da es Unterschiede in der Unterstützung für VBA-Funktionen gibt.

FAQ: Häufige Fragen

1. Wie kann ich ein Diagramm als PNG speichern?
Ändere einfach den Filter im Export-Code zu FilterName:="PNG".

2. Warum ändert sich das Datumsformat beim Kopieren?
Dies kann auf die Art und Weise zurückzuführen sein, wie Excel das Diagramm verarbeitet. Verwende die Export-Methode, um dieses Problem zu umgehen.

3. Welche Excel-Version benötige ich für diesen Code?
Der bereitgestellte Code sollte in Excel 2010 und neuer funktionieren. Bei älteren Versionen wie Excel 2003 können Formatierungsprobleme auftreten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige