16.01.2022, 19:07
Ich hab da mal was vorbereitet. Den Button mußt du aber selber einfügen. Es wird hier ein pdf erstellt und geöffnet wenn es fertig ist. Ich nutze bei den Seiten den Druckbereich, um die erste Seite zu erhalten. Probiers mal aus.
Code:
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim strSheets As String
strSheets = "Klassenliste"
Application.PrintCommunication = True
With Worksheets("Klassenliste").PageSetup
.PrintArea = "A1:R60"
.FitToPagesWide = 1
.FitToPagesTall = 1
Application.PrintCommunication = False
' ActiveSheet.PrintOut From:=1, To:=1, Preview:=False, IgnorePrintAreas:=False
End With
For Each ws In Worksheets
If ws.Name <> "Klassenliste" Then
If ws.Range("B3").Value <> 0 Then
strSheets = strSheets & ";" & ws.Name
Application.PrintCommunication = True
ws.PageSetup.PrintArea = "A1:G45"
Application.PrintCommunication = False
' ActiveSheet.PrintOut From:=1, To:=1, Preview:=False, IgnorePrintAreas:=False
End If
End If
Next ws
Worksheets(Split(strSheets, ";")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\" & "Liste", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Worksheets("Klassenliste").Select
End Sub