Ga naar inhoud

verschillende werkbladen afdrukken met Macro


Aanbevolen berichten

Geplaatst:

Beste mensen,

 

Ik wil doormiddel van twee knoppen verschillende onderdelen op verschillende tabbladen afdrukken als PDF in een nieuw te creeren map.

De knop om het gehele werkboek als PDF op te slaan is geen probleem echter de knop om een bepaald onderdeel van elk werkblad als één PDF op te slaan krijg ik niet werkend.

Zie onderstaande teksten.

Deze voor het gehele werkboek werkt perfect

Private Sub PDF_maken()
Dim pad As String
Dim naam As String
Dim foldername As String
foldername = Sheets("voorblad").Range("a25").Value & "weekrapporten LAUDY"
pad = foldername + "\"
naam = "weekrapport LAUDY  " & Sheets("voorblad").Range("y8").Value & " WK-" & Sheets("voorblad").Range("y10").Value & Format$(Now, "  yyyy-mm-dd ")
    On Error Resume Next
    If Dir(foldername) = "" Then MkDir (foldername)
    Sheets("Voorblad").Select
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pad & naam, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
    Worksheets("maandag").Select
End Sub

Deze voor bepaalde onderdelen werkt niet

Private Sub PDF_rapport_maken()
Dim pad As String
Dim naam As String
Dim foldername As String
Dim sh As Worksheet
foldername = Sheets("voorblad").Range("a25").Value & "weekrapporten BOUWDIREKTIE"
pad = foldername + "\"
naam = "weekrapport BOUWDIREKTIE  " & Sheets("voorblad").Range("y8").Value & " WK-" & Sheets("voorblad").Range("y10").Value & Format$(Now, "  yyyy-mm-dd ")
    On Error Resume Next
    If Dir(foldername) = "" Then MkDir (foldername)
    

    Set sh = Worksheets("voorblad")
    sh.PageSetup.PrintArea = "$a$1:$ac$58"
    Set sh = Worksheets("maandag")
    sh.PageSetup.PrintArea = "$A$1:$ad$125"
    Set sh = Worksheets("dinsdag")
    sh.PageSetup.PrintArea = "$a$1:$ad$125"
    Set sh = Worksheets("woensdag")
    sh.PageSetup.PrintArea = "$a$1:$ad$125"
    Set sh = Worksheets("donderdag")
    sh.PageSetup.PrintArea = "$a$1:$ad$125"
    Set sh = Worksheets("vrijdag")
    sh.PageSetup.PrintArea = "$a$1:$ad$125"
    Set sh = Worksheets("zaterag")
    sh.PageSetup.PrintArea = "$a$1:$ad$125"
    Sheets(Array("voorblad", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag")).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pad & naam, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True
    Worksheets("maandag").Select
End Sub

Hoe krijg ik de onderste werkend ?

 

Bij voorbaat bedankt,

 

Gr peter

Geplaatst:

Probeer maar eens op deze manier.


 

Private Sub PDF_rapport_maken()
    Dim pad As String
    Dim naam As String
    Dim foldername As String

    foldername = Sheets("voorblad").Range("a25").Value & "weekrapporten BOUWDIREKTIE"
    pad = foldername & "\"
    naam = "weekrapport BOUWDIREKTIE  " & Sheets("voorblad").Range("y8").Value & " WK-" & Sheets("voorblad").Range("y10").Value & Format$(Now, "  yyyy-mm-dd ")

    On Error Resume Next
    If Dir(foldername) = "" Then MkDir (foldername)
    
    myarr = Array("voorblad", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag")
    For Each elm In myarr
        If elm = "voorblad" Then
            Sheets(elm).PageSetup.PrintArea = "$A$1:$AC$58"
        Else
            Sheets(elm).PageSetup.PrintArea = "$A$1:$AD$125"
        End If
    Next
    Sheets(Array("voorblad", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag")).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pad & naam, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True
    Worksheets("maandag").Select
End Sub

 

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.