Avatar billede kim1a Ekspert
19. maj 2022 - 15:09 Der er 1 kommentar og
1 løsning

VBA pdf"print" sammen med print område og 1x1 side

Hej
Jeg kæmper med en makro der skal printe en række ark i en workbook, men den skal kun have et mindre område (samme dog) fra hver ark, og samtidig skal  pdfen kun være på en side.
Her er hvad jeg har forsøgt:
Sub Lav_PDF_på_skrivebord()

stitilfil = Environ("USERPROFILE") & "\Desktop"
   
Dim sh As Worksheet
   
    For Each sh In Sheets
    Select Case sh.Name
    Case Is = "1", "2", "3"
        ActiveSheet.PageSetup.PrintArea = "$A$1:$G$35"
            With ActiveSheet.PageSetup
                .CenterHorizontally = True
                .CenterVertically = True
                .Orientation = xlLandscape
                .PaperSize = xlPaperA3
                .FirstPageNumber = xlAutomatic
                .Order = xlDownThenOver
                .BlackAndWhite = False
                .FitToPagesWide = 1
                .FitToPagesTall = 1
            End With
        sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            stitilfil & "Bonusopgørelse " & sh.Cells(1, 1), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
    Case Else
    'No Code executed
    End Select
    Next sh

End Sub

Jeg er med på at jeg kan undvære en række af tingene i min with, men jeg tænkte jeg ville kode lidt generisk :-)

Jeg tror desværre den sætter print area, men vælger så export, fremfor print - eller er jeg galt på den?
Avatar billede kim1a Ekspert
20. maj 2022 - 09:40 #1
Jeg fandt tricket:
With sh
            .PageSetup.PrintArea = "$A$1:$G$35"
            .PageSetup.Orientation = xlPortrait
            '.PageSetup.Zoom = 75
            .PageSetup.FitToPagesWide = 1
            .PageSetup.FitToPagesTall = 1
        End With
        sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strStiTilFil & "\Bonusopgørelse " & sh.Cells(1, 1), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
Avatar billede amalbeach Juniormester
05. juni 2022 - 23:01 #2
I have this code to set the print area of certain sheets in a workbook. I'm trying to set the print area so it fits each tab on one page and doesn't divide it into several pages. Also could someone please help me with code to not set the print area on certain tabs based on the same cell value in each tab?
https://tutuapp.uno/ , https://9apps.ooo/ , https://showbox.kim/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital