Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bereich als Bild speichern

Bereich als Bild speichern
26.09.2022 10:16:11
SL
Hallo zusammen,
ich habe folgenden Code, um einen Bereich in meiner Excel als .jpg abzuspeichern.
Option Explicit

Sub Range_To_Image()
Dim objPict As Object, objChrt As Chart
Dim rngImage As Range, strFile As String
On Error GoTo ErrExit
With Sheets("Backup Floorwalk") 'Tabellenname - Anpassen!
Set rngImage = .Range("A1:N33")
rngImage.CopyPicture Appearance:=xlScreen, Format:=xlPicture
.PasteSpecial Format:="Picture", Link:=False, DisplayAsIcon:=False
Set objPict = .Shapes(.Shapes.Count)
strFile = Sheets("Einstellungen").Range("B2") & "TEST.jpg" 'Pfad und Dateiname für das Bild
objPict.Copy
Set objChrt = .ChartObjects.Add(1, 1, objPict.Width + 8, objPict.Height + 8).Chart
objChrt.Paste
objChrt.Export strFile
objChrt.Parent.Delete
objPict.Delete
End With
ErrExit:
Set objPict = Nothing
Set objChrt = Nothing
Set rngImage = Nothing
End Sub
Soweit funktioniert es.
PROBLEM: Wenn ich mit F8 (Einzeltestung) den Code durchspiele hab ich ein vernünftiges Bild. Sobald ich aber den Code automatisch durchlaufen lasse ist das Bild weiß.
Kann mir jemand sagen, woran das liegt?
Viele Grüße
SL
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich als Bild speichern
26.09.2022 10:23:38
ralf_b
könnte daran liegen das man das Zielobjekt selektieren ode aktivieren muß. objChrt.select
select funktioniert aber nur wenn das Blatt auch grad das aktive ist.
AW: Bereich als Bild speichern
26.09.2022 10:30:44
SL
Wo muss ich das select denn einfügen?
ich hab es Hier eingefügt:
objChrt.select
objChrt.Paste
objChrt.Export strFile
objChrt.Parent.Delete
objPict.Delete
Das hat leider nicht geklappt. :(
Anzeige
AW: Bereich als Bild speichern
26.09.2022 10:56:03
peterk
Hallo
Du musst Excel etwas Zeit geben ;-)

Set objChrt = .ChartObjects.Add(1, 1, objPict.Width + 8, objPict.Height + 8).Chart
myTimer = Timer()
Do
DoEvents
Loop Until Timer > (myTimer + 2) ' warte 2 Sekunden
objChrt.Paste
Peter
AW: Bereich als Bild speichern
26.09.2022 11:02:02
ralf_b
naja ich dann doch mal bissel probiert.
setze das objPict.Copy weiter nach unten. Über das objChrt.paste
Anzeige
AW: Bereich als Bild speichern
26.09.2022 13:18:38
snb
Dieser Code reicht:

Sub M_snb()
With ActiveSheet
.Range("A1:N33").CopyPicture
With .ChartObjects.Add(1, 1, 100, 100).Chart
.Paste
.Export Application.DefaultFilePath & "Bild.jpg"
.Parent.Delete
End With
End With
End Sub

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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