Excel Screenshot Zellenbreite

Bild

Betrifft: Excel Screenshot Zellenbreite
von: Martin
Geschrieben am: 17.06.2015 11:43:29

Hallo Zusammen,
vorweg: Ich habe nicht sonderlich viel Erfahrung mit VBA, konnte mir aber mit Hilfe von Foreneinträgen meistens helfen. Leider kann zu meinem explizitem Problem hier nichts finden.
Und zwar möchte ich von einem Zielfile auf ein anderes offenes Ursprungsfile zugreifen und dort einen Screenshot machen von einem bestimmten Bereich. Diesen Screenshot möchte ich im Anschluss wieder im Zielfile pasten.
Das ist auch alles kein Problem und ich habe es so hinbekommen.
Mein Problem ist nur, dass es sich im Urspungsfile um Tabellen mit Zahleninhalten handelt die auch so komplett angezeigt werden (ohne #### weil die Zelle zu klein ist)
Anscheinend passt sich der Excel Screenshot aber automatisch an, da er im Zielfile mit #### in gewissen Zellen ankommt. Das soll natürlich nicht passieren.
Beispielhaft:

Sub Folie7()
'''Folie 7 - G16'''
Windows("euroregiccplprod15.xlsm").Activate
Sheets("G16.Oper Exp").Select
ActiveSheet.Range("C3:N33").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Windows("Testmacro.xlsm").Activate
Sheets("Folie 7").Select
'''Range("A1").Select
ActiveSheet.Paste
End Sub
Könnt ihr mir da helfen?
Vielen Dank schonmal!

Bild

Betrifft: AW: Excel Screenshot Zellenbreite
von: Florian
Geschrieben am: 17.06.2015 12:16:22
Moin Martin,
versuch mal nach dem Einfügen "Autofit" auf das Ziel-Dokument anzuwenden:

Sub AutoSpaltenbreite()
    Cells.Select
    Selection.Columns.AutoFit
    Range("A1").Select
End Sub
Gruß
Florian

Bild

Betrifft: AW: Excel Screenshot Zellenbreite
von: Florian
Geschrieben am: 17.06.2015 12:26:25
...also so:

Sub Folie7()
'''Folie 7 - G16'''
Windows("euroregiccplprod15.xlsm").Activate
Sheets("G16.Oper Exp").Select
ActiveSheet.Range("C3:N33").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Windows("Testmacro.xlsm").Activate
Sheets("Folie 7").Select
'''Range("A1").Select
ActiveSheet.Paste
Cells.Select
Selection.Columns.AutoFit
Range("A1").Select
End Sub
Bei Deiner auskommentierten Zeile
'''Range("A1").Select
must Du bestimmt festlegen welches die active Zelle vor dem Einfügen sein soll damit nicht immer irgendwo eingefügt wird.
Excel merkt sich beim speichern ja welches die zuletzt active Zelle gewesen ist.
Gruß
Florian

 Bild

Beiträge aus den Excel-Beispielen zum Thema "PowerPoint - aktuelle Folie ermitteln"