• 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.

Macro voor afdrukbereik verschillende werkbladen

Status
Niet open voor verdere reacties.
HSV, excuseer voor mijn late reactie, ik had daar inderdaad niet op gereageerd. Mijn fout.
Ja, ik heb het bestand opgeslagen. Opnieuw geprobeerd, maar dezelfde foutmelding "Fout 13 tijdens uitvoering: Typen komen niet met elkaar overeen.".
Wat kan dat betekenen?

NB. de code van gast0660 werkt wel. De foutmelding kwam immers NA het aanmaken van de PDF's. Die foutmelding wordt nu onderdrukt, maar de PDF's zijn reeds aangemaakt.
 
Je schreef dat je de foutmelding krijgt op:
Code:
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name, _
             Quality:=xlQualityStandard, IncludeDocProperties:=True, _
             IgnorePrintAreas:=False, OpenAfterPublish:=False
Dan kan er geen pdf aangemaakt worden.
Of je daar nu een 'on error goto' voor zet onderdrukt alleen de foutmelding, er zal geen pdf aangemaakt worden.
 
Ja, dat klopt, daar kreeg ik inderdaad de foutmelding. Maar die foutmelding kwam eerst nadat alle PDF's voltooid waren. De code drukte dus keurig van alle tabbladen een PDF af, maar nadat het laatste tabblad voltooid was, kwam de foutmelding. Door de onderdrukking komt die foutmelding nu niet, maar het PDF-resultaat is eender. De foutmelding kwam dus NIET al bij het eerste tabblad, maar pas na voltooiing van alle tabbladen.

Ik ontdek nu een nieuw probleem. De bedoeling was om alle kolommen (A t/m P) passend te krijgen op de paginabreedte. Maar dat gebeurt alleen bij het eerste tabblad, niet bij de volgende. Daar past namelijk de tabel niet meer op de pagina, er wordt paginabreed enkel kolom A t/m M weergegeven.

Ik gebruik nu deze code:
Code:
Sub PDF()
Dim WS_Count As Integer, I As Integer
Dim Name As String
Dim LRow As Long
Application.ScreenUpdating = False
On Error GoTo Oops
LRow = Cells(Rows.Count, 16).End(xlUp).Row
    WS_Count = ThisWorkbook.Worksheets.Count
    For I = 1 To WS_Count
     Name = ThisWorkbook.Path & "\PDF\" & ThisWorkbook.Worksheets(I).Name & " " & _
     Format(Now(), "dd.mm.yyyy") & ".pdf"
        With Worksheets(I)
            .PageSetup.PrintArea = "A1:P" & LRow
            .PageSetup.FitToPagesWide = 1
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name, _
             Quality:=xlQualityStandard, IncludeDocProperties:=True, _
             IgnorePrintAreas:=False, OpenAfterPublish:=False
         End With
    Next I
Oops:
Application.ScreenUpdating = True
End Sub
 
Heb je verborgen bladen?

Plaats een bestand.
 
Voorlopig blijf ik hierbij.

Voor je laatste vraag.
Code:
Sub hsv()
Dim sh As Worksheet
Application.ScreenUpdating = False
   For Each sh In Sheets
     If sh.Visible Then
        With sh
[COLOR=#0000ff]            .PageSetup.Zoom = False[/COLOR]
            .PageSetup.FitToPagesWide = 1
            .Range("A1", .Cells(Rows.Count, 16).End(xlUp)).ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & sh.Name & " " & Format(Date, "dd.mm.yyyy")
         End With
        End If
    Next sh
End Sub
 
Ja, inderdaad! Er was een verborgen blad. Daar had ik geen weet meer van. Dat blad had trouwens geen functie, is nu weggehaald. Foutmelding is nu ook weg.
Nogmaals hartelijk dank.
 
Mooi, zo zie je maar dat je beter een bestand kan plaatsen, dan was het meteen opgevallen tussen de VB-editor en je zichtbare bladen.
 
U heeft gelijk. Alleen ben ik helaas gebonden aan voorschriften van de schoolleiding. Het bestand betreft cijferlijsten en gegevens van scholieren. Ik vertrouw u volledig, maar als ik die hier zou plaatsen, krijg ik grote problemen. Ik kan natuurlijk een klein voorbeeldje maken of namen weghalen, maar dan had ik waarschijnlijk ook de verborgen bladen niet erbij gehad. Maar ik begrijp uw punt, helemaal mee eens. Dank voor uw begrip en excuus voor het ongemak. Ik ben u allen zeer dankbaar.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan