Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro funktioniert nur im Debug-Modus
#1
Hallo,

ich will aus einer Datei Screenshots erstellen.


Mit den Diagrammen (eigene Tabellenblätter) funktioniert alles.

Nur wenn ich von einer Tabelle ein Bild erzeugen will bekomme ich ein "weißes" Bild.

Ich habe eine simple Beispieldatei dazu erstellt.



Und jetzt kommt es - wenn ich aber das Makro "händisch" per F8 im Debugging durchlaufen lasse, dann funktioniert das Bilder erstellen sehr wohl.


Ich hab die Bilder dazu auch jeweils angehängt - und eben ein "Richtig" und ein "Falsch" angehängt.


Danke für eure Hilfe und viele Grüße
Daniel



Code vom Makro:


Sub Screenshots()



  Application.ScreenUpdating = False
  ActiveSheet.Range("A1:H11").CopyPicture Appearance:=xlScreen, Format:=xlPicture
  With ActiveSheet.ChartObjects.Add(0, 0, Range("A1:H11").Width, Range("A1:H11").Height).Chart
      .Paste
      .Export "U:\Makro_Bilder_VBA_Test.jpg"
      .Parent.Delete
  End With
  Application.ScreenUpdating = True
 
 
End Sub


Angehängte Dateien Thumbnail(s)
       

.xlsm   Mappe1.xlsm (Größe: 16,66 KB / Downloads: 3)
Antworten Top
#2
Im Makromodul von Tabelle1:

Code:
Sub M_snb()
  Tabelle1.Range("A1:H11").CopyPicture

  With Tabelle1.ChartObjects(1).Chart
      If .Shapes.Count = 1 Then .Shapes(1).Delete
      .Paste
      .Export "G:\Makro_Bilder_VBA_Test.jpg"
  End With
End Sub


Angehängte Dateien
.xlsb   __picture_snb_001.xlsb (Größe: 16,48 KB / Downloads: 1)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hallo,

das funktioniert leider bei mir auch nicht.
Edit: jetzt funktioniert es insofern, als dass ich das "Bild" im Tabellenblatt habe.

ABER das will ich ja eigentlich genau nicht - ich möchte ja nur einfach die Excel-Zellen / Excel-Tabelle als eine jpg-Datei herausschreiben.



Das komisch ist ja auch, dass "mein" Code in einer anderen Excel-Datei seit Jahren schon problemlos funktioniert - und eben erst hier jetzt nicht mehr funktionieren will...

Kann sich das jemand erklären?


Zudem - warum funktioniert der Code im Debug-Modus aber im "scharfen" Modus nicht?


Grüße
Daniel
Antworten Top
#4
Selbstverständlich musst du
Code:
"G:\Makro_Bilder_VBA_Test.jpg"
anpassen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
Hallo Daniel, 19 

schreibe es so: 21 


Code:
'..........
.Parent.Activate
.Paste
.Export "U:\Makro_Bilder_VBA_Test.jpg"

'..........

Ist ein Feature in neueren Excelversionen.
________
Servus
Case
Antworten Top
#6
Hallo zusammen,

ja, was soll ich sagen - die Scheiße geht....!

Vielen Dank.

@snb: dass der Pfad angepasst werden muss war klar.


@all (und damit das für zukünftige Frager auch idiotensicher ist) hier noch der Code, der auch im normalen Modus durchläuft:

Code:
Sub Screenshots()



   Application.ScreenUpdating = False
   ActiveSheet.Range("A1:H11").CopyPicture Appearance:=xlScreen, Format:=xlPicture
   With ActiveSheet.ChartObjects.Add(0, 0, Range("A1:H11").Width, Range("A1:H11").Height).Chart
      .Parent.Activate
      .Paste
      .Export "U:\Makro_Bilder_VBA_Test.jpg"
      .Parent.Delete
   End With
   Application.ScreenUpdating = True
   
   
End Sub



An der Stelle ein herzliches Dankeschön an alle, die mir hier geholfen haben.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste