• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

pdf maken

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
beste helpers,

ik heb een file waar 53 sheets staan genummerd 1 t/m 53 ( zijn meer sheets maar wil alleen blad "verlof" en dan de bladen genummerd 1 t/m 53 selecteren)
deze wil ik graag selecteren en er een pdf van maken
dit stukje code selecteert alle sheets
Code:
Private Sub CommandButton1_Click()
 Dim sh As Worksheet
    For Each sh In Sheets
    If sh.Visible = xlSheetVisible Then
    sh.Select (False)
    End If
Next sh
'-- Opslaan order als PDF
    Bestandsnaam = Blad13.Range("k1")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    Blad13.Range("k2") & Bestandsnaam & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
        
End Sub

deze pdf ga ik wekelijks versturen
de verlopen weken zijn eigenlijk overbodig, dus als ik in een tabblad bv sheets("chauffeurs").range("k2")
het getal 12 zou zetten moet er een pdf gemaakt worden van blad 12 t/m 53
is dat mogelijk?
 
Laatst bewerkt:
Eerst alle bladen verbergen (op verlof na), dan de bladen die je nodig hebt voor de Pdf zichtbaar maken, maak er een Pdf van, daarna alle bladen zichtbaar.

Alles gebeurt in die volgorde in onderstaande code.

Code:
Private Sub CommandButton1_Click()
Dim sh As Worksheet, i As Long
  For Each sh In Sheets
    If LCase(sh.Name) <> "verlof" Then sh.Visible = False
  Next sh
    For i = Sheets("chauffeurs").Range("k2").Value To 4
     Sheets(CStr(i)).Visible = True
    Next i
  ThisWorkbook.ExportAsFixedFormat 0, Blad13.Range("k2") & Blad13.Range("k1") & ".pdf", , , , , , -1
    For Each sh In Sheets
     sh.Visible = True
    Next sh
End Sub
 
De 4 moet natuurlijk 53 zijn, maar dat had je waarschijnlijk wel door.
Code:
 For i = Sheets("chauffeurs").Range("k2").Value To [COLOR=#ff0000]​53[/COLOR]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan