Hallo,
Ich habe folgendes Script geschrieben um ein definierte Gruppe an Tabellenblätter als Pdf auszugeben. Das funktioniert auch soweit, nun befindet sich in der Mappe auch ein Diagramm an diesem hängt sich leider mein Code immer auf. Wie bringt ich VBA dazu nur Worksheets zu betrachten?
Sub Ueberpruefen()
Dim w, ws As Worksheet, wsListe, strERR As String
wsListe = Sheets("Top30").Range("B4:B34")
On Error Resume Next
For w = 1 To UBound(wsListe)
Set ws = Nothing
If wsListe(w, 1) > "" Then
Set ws = Worksheets(wsListe(w, 1))
If ws Is Nothing Then
strERR = strERR & vbLf & wsListe(w, 1)
End If
End If
Next w
If Len(strERR) Then
MsgBox "Es fehlen: " & strERR
End If
End Sub
Sub PDFAlleLief()
Dim w, ws As Worksheet
Dim wsListe As Range 'Range not string
Dim fName As String
Dim currentWorkbookDir As String
currentWorkbookDir = ActiveWorkbook.Path
Set wsListe = ActiveWorkbook.Sheets("Top30").Range("B4:B34")
For Each ws In ActiveWorkbook.Sheets
For Each v In wsListe
If ws.Name = v Then
ActiveSheet.PageSetup.Orientation = xlLandscape
fName = ws.Range("E2").Value & "Ausdruck" 'ws.Range not just .Range as code not sets any other sheet active, main sheet with file names stays active.
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
currentWorkbookDir & "\PDFeinzeln\" & fName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
Next v
Next ws
End Sub
Bonusfrage: Wie bekomme Excel bei der PDF Erstellung dazu alles auf eine A4 Seite zu komprimieren?
Vielen Dank im Voraus
Björn