Hej hej
Nedan kod skriver ut alla blad i boken som pdf, förutom de som du valt att inte skriva ut. Modifiera bladnamnen i excludefromcol för att passa din bok. Frågar användaren var pdfen ska sparas.
Option Explicit
Private Function addSheets(c As Collection) As Collection
Dim ws As Worksheet
Dim ExludeFromCol As Variant: ExludeFromCol = Array("blad1", "Blad2", "Blad3", "Blad4", "Blad5")
Dim i As Long
Dim exclude As Boolean
'Lägg till sheets till collection
For Each ws In ThisWorkbook.Sheets
exclude = False
For i = 0 To UBound(ExludeFromCol, 1)
If ws.Name = ExludeFromCol(i) Then
exclude = True
End If
Next i
If Not exclude Then
c.Add ws.Name
End If
Next ws
Set addSheets = c
End Function
Sub testar()
Dim c As New Collection
Set c = addSheets(c)
'Hämta filnamn och sökväg från användare
Dim uAns As Variant
uAns = Application.GetSaveAsFilename( _
Title:="Välj filnamn och sökväg", InitialFileName:="Funkis", FileFilter:="PDF (*.pdf), *.pdf")
If uAns <> False Then
Call PrintSelectedItms(c, uAns)
End If
Set c = Nothing
End Sub
Private Function PrintSelectedItms(c As Collection, mPath As Variant)
Dim tArr As Variant: ReDim tArr(1 To c.Count)
Dim i As Long
For i = 1 To UBound(tArr, 1)
tArr(i) = c.Item(i)
Next i
Dim aSH As Worksheet: Set aSH = ActiveSheet
ThisWorkbook.Sheets(tArr).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
mPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Function