Hallo Leute,
zuerst muss ich erwähnen, dass ich relativ neu im VBA-space bin.
Ich habe ein kleines Makro geschrieben (pls dont blame me if it's bad :D), und hänge an 2 kleinen Sachen fest, welche die Sache ein wenig dynamischer machen sollen. Hier der Code:
Sub PDFcreator()
'Choose Path and name
Dim FullPath As Variant
FullPath = Application.GetSaveAsFilename(, FileFilter:="PDF-Dateien (*.pdf),*.pdf")
'For loop for adjusting various sheets
Dim i As Integer
For i = 1 To 7
'Landscape mode
Worksheets(i).PageSetup.Orientation = xlLandscape
'adjust to DINA4
Worksheets(i).PageSetup.Zoom = False
'adjust width to DINA4
Worksheets(i).PageSetup.FitToPagesWide = 1
'adjust hight to DINA4
Worksheets(i).PageSetup.FitToPagesTall = 1
Next i
'save as PDF
ThisWorkbook.Sheets(Array("AAA", "BBB", "CCC")).Select
ActiveSheet.Range("A1:AN63").ExportAsFixedFormat xlTypePDF, Filename:=FullPath, Openafterpublish:=True
End Sub
Ich weiß nicht, ob es offensichtlich ist, allerdings soll das makro PDF's von jedem Sheet des Workbooks machen, im Querformat, an die Seite angepasst. Was mich stört sind die fett-markierten Sachen.
Zum einen will ich nicht jedes Sheet als Nr ansprechen, damit ich das Makro universell nutzen kann, also ...Array(1,2,3) - geht aber irgendwie nicht.....
Zum anderen müsste die Range dynamisch nur den Bereich wählen, der auch Daten beinhaltet, weil sonst ewig viele leere Seiten mit auf dem PDF landen. Nur die angrenzenden Zellen einer Zell mit Dateninput zu wählen funktioniert hier leider nicht, da sich auch leere Zwischen-Zeilen/Spalten in den Sheets befinden.
Ich würde mich wahnsinnig freuen, wenn mir jmd zeitnah helfen kann.
LG Luca
|