Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
diagramm als grafik speichern
15.08.2023 19:27:47
Andreas Kischkel
hallo liebe experten, ich hoffe, dass ist meine vorerst letzte frage ...
ich möchte aus einer tabelle heraus mehrere diagramm einzeln in einem bestimmten pfad spreichern,
dabei sollte automatisch ein unterordner in dem pfad angelegt werden mit dem aktuellen datum, die nächsten diagramme sollen dann in dem selben ordner gespeichert werden, der diagrammnahme-dateiname steht jeweils in einer zelle
die diagramme befinden sich alle auf einem datenblatt namens "Diagramme Farm"
ich hoffe, dass mit hier geholfen werden kann, habe da jetzt schon den ganzen tag rumexperementiert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: diagramm als grafik speichern
15.08.2023 20:55:30
ralf_b
Hilfe zur Selbsthilfe funktioniert nur wenn du deine Bemühungen zeigst damit man dir weiterhelfen kann.
Du hättest eine ganzen Tag auch damit verbringen können nichts zu tun. Für uns ist es aktuell das Gleiche.
google: Ungefähr 1.220.000 Ergebnisse (0,31 Sekunden) owT
15.08.2023 22:22:18
Rudi Maintaire
google: Ungefähr 1.220.000 Ergebnisse (0,31 Sekunden) owT
16.08.2023 11:58:54
Andreas Kischkel
hm, vielleicht habe ich meine frage nicht richtig formuliert, gesucht und getestet habe ich getsern ca. 6 stunden um dann hier die anfrage zu stellen, auf teile meiner frage habe ich hier auch eine antwort gefunden, aber nicht in der komplexität!!!
einen ordner mit dem aktuellen datum zu erstellen habe ich hinbekommen, aber nicht in dem zuge die prüfung und das speichern der diagramme in diesen beuen ordner.
mehrere diagramme als grafik speichern, dabei soll ein unterordner in einem immer gleichen pfad angelegt werden, der dem aktuellen datum entspricht, prüft, ob es diesen ordner schon gibt um dann die möglichkeit gibt, einen neuen unterordner mit neuem namen zu erstellen, die diagramme beziehen ihren namen aus je einer zelle im tabellenblatt (6 diagramme auf dem gleichen tabellenblatt)
gibt es dazu eine lösung???
Anzeige
Diagramm-Export
16.08.2023 12:52:15
Rudi Maintaire
Hallo,
deine Beschreibung ist nicht gerade aufschlussreich.

als Ansatz:
Public Sub Diagramm_Export()

Dim oDia As Object, oChartArea As Object, oChartPic As Object
Dim iBreite As Single, iHoehe As Single, RetVal As Boolean, oBlatt As Object
Dim oBook As Object
Dim sTempPfad As String
Dim wksTemp As Worksheet
Dim strGrafik As String, strPfad As String
Dim objChart As Object, objChartObject As Object
Dim oShape As Shape, sName As String

Const strFormat = "jpg"
Const cstrPfad As String = "c:\test\" 'anpassen
strGrafik = strGrafik & "." & LCase(strFormat)

strPfad = Dir(cstrPfad & Format(Date, "YYYYMMDD"), vbDirectory)
If strPfad = "" Then
strPfad = cstrPfad & Format(Date, "YYYYMMDD")
MkDir strPfad
Else
strPfad = cstrPfad & strPfad
End If

On Error GoTo Fehler
Application.ScreenUpdating = False
For Each objChartObject In ActiveSheet.ChartObjects
Set objChart = objChartObject.Chart
strGrafik = objChart.Name & "." & strFormat
objChart.CopyPicture Appearance:=xlPrinter, Size:=xlScreen, Format:=xlPicture
objChart.Deselect
Set wksTemp = Sheets.Add
wksTemp.Paste
Set oShape = wksTemp.Shapes(1)
' Der Pfad wohin das Bild gespeichert werden soll.
' Für die gewählte Variante muss die Arbeitsmappe einmal gespeichert worden sein
sTempPfad = strPfad & "\" & strGrafik
'Jetzt beginnt die Arbeit
Application.Selection.CopyPicture 1, 2
Set oBook = Application.Workbooks.Add
Set oDia = oBook.ActiveSheet.ChartObjects.Add(0, 0, 800, 600)
Set oChartArea = oDia.Chart
oDia.Activate
With oChartArea
.ChartArea.Select
.Paste
Set oChartPic = .Pictures(1)
End With
With oChartPic
.Left = 0
.Top = 0
iBreite = .Width + 7 ' hier gegebenenfalls anpassen
iHoehe = .Height + 7 ' hier gegebenenfalls anpassen
End With
With oDia
.Border.LineStyle = xlNone
.Width = iBreite
.Height = iHoehe
End With
RetVal = oChartArea.Export(Filename:=sTempPfad, _
Filtername:=strFormat, Interactive:=False)
' Gewährleisten, dass wir hinter uns aufräumen
If Not RetVal Then
MsgBox "Bild wurde nicht exportiert", vbExclamation
Else
' Wer will kann sich ja noch eine Exportmeldung ausgeben lassen
' MsgBox "Bild wurde als " & strGrafik & " exportiert.", vbInformation
End If
Application.DisplayAlerts = False
wksTemp.Delete
Next objChartObject
Application.DisplayAlerts = True

Aufraeumen:
On Error Resume Next
Set oChartPic = Nothing
Set oChartArea = Nothing
Set oDia = Nothing
Set wksTemp = Nothing
oBook.Saved = True
oBook.Close
Set oBook = Nothing
Application.ScreenUpdating = True
Exit Sub
'Fehlerbehandlung
Fehler:
MsgBox "Fehler beim Grafikexport, Objekt(Markierung) nicht geeignet", vbExclamation
Resume Aufraeumen
End Sub

Gruß
Rudi
Anzeige
Diagramm-Export
18.08.2023 12:20:59
Andreas Kischkel
wow klasse soweit!! jetzt erstellt der code für jede grafik eine neue mappe, geht das auch ohne?? alles andere funktioniert genau so wie es soll!!! trotz meiner "schlechten Beschreibung"
Ich benötige keine neuen mappen, nur die grafik in den erstellten ordner, habe es selber versucht :-( leider nicht hingekriegt!
Diagramm-Export
20.08.2023 15:57:55
Rudi Maintaire
Hallo,
einfach die Mappe schließen, bevor das nächste Diagramm exportiert wird.
    If Not RetVal Then

MsgBox "Bild wurde nicht exportiert", vbExclamation
Else
' Wer will kann sich ja noch eine Exportmeldung ausgeben lassen
' MsgBox "Bild wurde als " & strGrafik & " exportiert.", vbInformation
End If
Application.DisplayAlerts = False
wksTemp.Delete
oBook.Close False 'neu erstellte Mappe schließen
Next objChartObject

Gruß
Rudi
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - Diagramm als Grafik speichern


Inhaltsverzeichnis


Die Fragestellung


Du möchtest ein in Excel erstelltes Diagramm als Grafikdatei speichern, um es beispielsweise in einem Bericht oder einer Präsentation verwenden zu können.


Erläuterung des Problems {#erläuterung-des-problems}


Excel bietet die Möglichkeit, Diagramme direkt aus der Anwendung heraus zu exportieren, aber der Prozess ist nicht immer intuitiv und kann nicht direkt aus der Benutzeroberfläche heraus automatisiert werden.


Lösung des Problems {#lösung-des-problems}


Um ein Diagramm als Grafikdatei zu speichern, kannst du das folgende VBA-Makro verwenden:

Sub SaveChartAsImage()
    Dim chartObj As ChartObject
    Dim chartPath As String

    ' Pfad festlegen, wo die Grafik gespeichert werden soll
    chartPath = "C:\Pfad\zum\Speicherort\Diagramm.jpg" ' Anpassen an deinen Speicherort

    ' Diagramm auswählen, das gespeichert werden soll
    ' Stelle sicher, dass der Name des Diagramms mit dem in deiner Arbeitsmappe übereinstimmt
    Set chartObj = ThisWorkbook.Sheets("DeinBlatt").ChartObjects("DeinDiagramm") ' Anpassen an deinen Blatt- und Diagrammnamen

    ' Speichere das Diagramm als JPG
    chartObj.Chart.Export Filename:=chartPath, FilterName:="JPG"

    ' Bestätigung
    MsgBox "Diagramm wurde als Bild gespeichert: " & chartPath, vbInformation
End Sub

Dieses Skript speichert das ausgewählte Diagramm als JPEG-Datei im angegebenen Pfad. Du kannst den Dateityp ändern, indem du den FilterName anpasst (z.B. "PNG" für PNG-Dateien).


Anwendungsbeispiele aus der Praxis


  • Berichterstattung: Integration von Diagrammen in digitale oder gedruckte Berichte.
  • Präsentationen: Verwendung von Diagrammen in PowerPoint-Präsentationen oder anderen Präsentationssoftware.

Tipps


  • Überprüfe, ob der Pfad zum Speichern der Grafik existiert und korrekt ist.
  • Stelle sicher, dass der Name des Diagramms im Code mit dem tatsächlichen Namen des Diagramms in deiner Excel-Arbeitsmappe übereinstimmt.

Verwandte Themenbereiche


  • Diagrammerstellung in Excel
  • Grafikexport und -verarbeitung
  • Automatisierung von Excel-Aufgaben

Zusammenfassung


Das Speichern eines Excel-Diagramms als Grafikdatei kann mit einem VBA-Makro einfach automatisiert werden. Dies ermöglicht es, Diagramme schnell und effizient für verschiedene Zwecke wie Berichte und Präsentationen verfügbar zu machen. Der oben dargestellte Code bietet eine Basis, die für individuelle Anforderungen angepasst werden kann.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige