Screenshot per Button-Klick und automatisches Speichern mit VBA
#1
Hallo Excel-Profis,
ich möchte gern ein Screenshot per Klick auf einen Button automatisch abgespeichert haben. Der Button ist schon da und der Code soweit geschreiben. Nur Speichert er ein Weißes Bild. Warum??? Huh

Code:

Sub TabelleExportierenAlsBild()
  Application.ScreenUpdating = False
  ActiveSheet.Range("A1:T35").CopyPicture Appearance:=xlScreen, Format:=xlPicture
  With ActiveSheet.ChartObjects.Add(0, 0, Range("A1:T35").Width, Range("A1:T35").Height).Chart
      .Paste
      .Export "Y:\Stefan\kalkulator\kalk.jpg"
      .Parent.Delete
  End With
  Application.ScreenUpdating = True
End Sub

Wer kann mir helfen? Bitte nicht all zu kompliziert erklären, viel Ahnung von VBA habe ich nicht.
BigTHX ;o)

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Top
#2
Hallo, 19

in neueren Excelversionen musst du das Chartobjekt aktivieren/selektieren. 21

Code:
Option Explicit
Sub TabelleExportierenAlsBild()
    Application.ScreenUpdating = False
    ActiveSheet.Range("A1:T35").CopyPicture Appearance:=xlScreen, Format:=xlPicture
    With ActiveSheet.ChartObjects.Add(0, 0, Range("A1:T35").Width, Range("A1:T35").Height).Chart
        .Parent.Activate
        .Paste
        .Export "C:\Temp\kalk.jpg"
        .Parent.Delete
    End With
    Application.ScreenUpdating = True
End Sub
Top
#3
DAAAAAAAANNNNNNKKKKKEEEEEE!!!!!!!
TOP! Funktioniert! Wär ich nie drauf gekommen. Mega! Du hast mein WE gerettet!! Danke

Hallo Case, darf ich noch ne kleine Zusatzfrage stellen?? 19

wie schreibe ich den Code um damit der Dateienname nicht kalk.jpg heißt, sondern immer der Inhalt der Zelle B1 genommen wird?

Sub TabelleExportierenAlsBild()
   
    Application.ScreenUpdating = False
    ActiveSheet.Range("A1:T35").CopyPicture Appearance:=xlScreen, Format:=xlPicture
    With ActiveSheet.ChartObjects.Add(0, 0, Range("A1:T35").Width, Range("A1:T35").Height).Chart
        .Parent.Activate
        .Paste
        .Export "Y:\Stefan\kalkulator\kalk.jpg"
        .Parent.Delete
    End With
    Application.ScreenUpdating = True

End Sub


Beste Grüße!! Stefan

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Top
#4
Hallo, 19

schreibe es so (natürlich mit deinem Pfad dann): 21

Code:
.Export "C:\Temp\" & ActiveSheet.Range("B1").Value & ".jpg"
Top
#5
Es klappt. Mega Cool!! i´m HappY!!! Thx 18

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Top
#6
Hallo Case,

das mit dem Screenshot läuft super!! Nur habe ich jetzt folgendes Problem: sobald ich das Blatt schütze kommt die Fehlermeldung [attachment=37840] beim Drücken des Buttons. Ich vermute es liegt am Eintrag ActiveSheet?? [attachment=37839] Was müsste man ändern damit die Funktion auch im aktivierten Blattschutz-Modus funktioniert?
Besten Dank im Voraus!! Blush Stefan

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Top
#7
Hallöchen,

wenn Du den Blattschutz per Makro setzt hast Du noch die Option mit dem USERINTERFACEONLY ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#8
Hat Excel 2016 nicht
Einfügen ► Illustrationen ► Screenshot?

Wenn es der ganze Bildschirm sein soll, geht Druck

Dann gibt es noch das Snipping-Tool unter Windows.

Ich nutze lieber die mächtige Freeware Greenshot.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
Hallöle,
an welcher Stelle im VBA schütze ich das Blatt mit welchem Code?  Huh
 

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Top
#10
Hallo, 19

schau mal hier: 21

UserInterfaceOnly...
Top


Gehe zu:


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