Wie kann ich mit VBA ein Bild (z.B Screenshot), welches sich in der Zwischenablage befindet, in eine Datei abspeichern?
Bin dankbar für jeden Tipp
Gruss Stefan B
Option Explicit
Sub Bild_exportieren()
Dim myChartObject As ChartObject, myShape As Shape
Dim bolfound As Boolean
Application.ScreenUpdating = False
Worksheets.Add
ActiveSheet.Paste
For Each myShape In ActiveSheet.Shapes
If myShape.Type = msoPicture Then bolfound = True: Exit For
Next
If bolfound Then
myShape.CopyPicture Appearance:=2, Format:=-4147
Set myChartObject = ActiveSheet.ChartObjects.Add(0, 0, myShape.Width, myShape.Height)
With myChartObject
.Activate
.Chart.Paste
.Chart.Export Filename:=ActiveWorkbook.Path & "\zwischenablage.jpg", FilterName:="JPG", Interactive:=False
End With
Set myChartObject = Nothing
Set myShape = Nothing
End If
With Application
.DisplayAlerts = False
ActiveSheet.Delete
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
Um ein Bild aus der Zwischenablage in einer Datei zu speichern, kannst Du ein VBA-Skript verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbook)“ und wähle „Einfügen“ > „Modul“.
Kopiere den folgenden Code in das Modul:
Option Explicit
Sub Bild_exportieren()
Dim myChartObject As ChartObject, myShape As Shape
Dim bolfound As Boolean
Application.ScreenUpdating = False
Worksheets.Add
ActiveSheet.Paste
For Each myShape In ActiveSheet.Shapes
If myShape.Type = msoPicture Then bolfound = True: Exit For
Next
If bolfound Then
myShape.CopyPicture Appearance:=2, Format:=-4147
Set myChartObject = ActiveSheet.ChartObjects.Add(0, 0, myShape.Width, myShape.Height)
With myChartObject
.Activate
.Chart.Paste
.Chart.Export Filename:=ActiveWorkbook.Path & "\zwischenablage.jpg", FilterName:="JPG", Interactive:=False
End With
Set myChartObject = Nothing
Set myShape = Nothing
End If
With Application
.DisplayAlerts = False
ActiveSheet.Delete
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus: Drücke ALT + F8
, wähle „Bild_exportieren“ und klicke auf „Ausführen“.
Mit diesem Skript kannst Du ein Bild aus der Zwischenablage als JPG speichern. Es wird im gleichen Verzeichnis wie Dein aktuelles Workbook gespeichert.
Fehler: Bild wird nicht gespeichert
Fehler: Kein Pfad gefunden
Wenn Du kein VBA verwenden möchtest, kannst Du auch die folgenden Methoden ausprobieren:
Hier sind einige Szenarien, in denen Du ein Bild aus der Zwischenablage speichern könntest:
1. Wie kann ich das Bild in einem anderen Format speichern?
Du kannst das Format in der Zeile .Chart.Export
ändern, indem Du den FilterName
entsprechend anpasst (z.B. "PNG" für PNG-Dateien).
2. Funktioniert das auch in Excel Online?
Leider ist VBA nicht in Excel Online verfügbar. Du kannst diese Methode nur in der Desktop-Version von Excel verwenden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen