Excel: Tabellenbereich als Screenshot speichern auf Knopfdruck

2 Antworten

Das kannst du ganz einfach mit einem Makro realisieren.

Ein Button mit folgenden Makro belegen, bei druck auf den Button kannst du auswählen welchen Bereich du als gif Bild abspeichern willst. Das Bild wird in den selben Ordner gepackt wo auch die Excel Datein drin ist.

Sub Zellen_als_Bild_erportieren()
Dim Zellbereich As Range
Dim Bild As Picture
Dim Diagramm As ChartObject

On Error GoTo Hell
Set Zellbereich = Application.InputBox _
(prompt:="Markieren Sie die Zellen für das Bild", _
Title:="Bildauswahl", Type:=8)
On Error GoTo 0

Application.ScreenUpdating = False

Set Bild = ActiveSheet.Pictures.Paste(Link:=True)
Bild.CopyPicture Appearance:=xlScreen, Format:=xlPicture

Set Diagramm = ActiveSheet.ChartObjects.Add(0, 0, Bild.Width, Bild.Height)

With Diagramm
.Chart.Paste
.Chart.Export Filename:=ActiveWorkbook.Path & "\Bild" & ".gif", FilterName:="gif"
End With

Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True


Application.ScreenUpdating = True

Set Diagramm = Nothing
Set Bild = Nothing
Set Zellbereich = Nothing
Exit Sub

Hell:
MsgBox "", , "Abbruch"
End Sub

Bei mir hängt es sich leider immer bei der Zeile: "Set Bild = Active Sheet..." auf

Begründung: Die Paste Eigenschaft des Picture Objektes kann nicht zugeordnet werden.

Hat einer die Lösung?

Vielen Dank im vorraus!