Excel Makro: Mehrere Blätter als mehrsietige .pdf

Status
Für weitere Antworten geschlossen.

Martin1220

Newbie
Registriert
Mai 2019
Beiträge
5
Hallo!

Folgender Code funktioniert dank eurer Hilfe! :D

Code:
Private Sub CommandButton1_Click()  'Button startet Makro

Sheets("Einzel").Select             'Blatt "Einzel" öffnen

ActiveSheet.Range("E8").Value = "1" 'Im Dropdown-Menü im Feld E8 einen bestimmten Wert aufrufen
Call Drucken                        'Startet das Druck-Makro
ActiveSheet.Range("E8").Value = "2" 'Das ganze wird widerholt bis zum Wert 28
Call Drucken
ActiveSheet.Range("E8").Value = "3"
Call Drucken
ActiveSheet.Range("E8").Value = "4"
Call Drucken
ActiveSheet.Range("E8").Value = "5"
Call Drucken
ActiveSheet.Range("E8").Value = "6"
Call Drucken
ActiveSheet.Range("E8").Value = "7"
Call Drucken
ActiveSheet.Range("E8").Value = "8"
Call Drucken
ActiveSheet.Range("E8").Value = "9"
Call Drucken
ActiveSheet.Range("E8").Value = "10"
Call Drucken
ActiveSheet.Range("E8").Value = "11"
Call Drucken
ActiveSheet.Range("E8").Value = "12"
Call Drucken
ActiveSheet.Range("E8").Value = "13"
Call Drucken
ActiveSheet.Range("E8").Value = "14"
Call Drucken
ActiveSheet.Range("E8").Value = "15"
Call Drucken
ActiveSheet.Range("E8").Value = "16"
Call Drucken
ActiveSheet.Range("E8").Value = "17"
Call Drucken
ActiveSheet.Range("E8").Value = "18"
Call Drucken
ActiveSheet.Range("E8").Value = "19"
Call Drucken
ActiveSheet.Range("E8").Value = "20"
Call Drucken
ActiveSheet.Range("E8").Value = "21"
Call Drucken
ActiveSheet.Range("E8").Value = "22"
Call Drucken
ActiveSheet.Range("E8").Value = "23"
Call Drucken
ActiveSheet.Range("E8").Value = "24"
Call Drucken
ActiveSheet.Range("E8").Value = "25"
Call Drucken
ActiveSheet.Range("E8").Value = "26"
Call Drucken
ActiveSheet.Range("E8").Value = "27"
Call Drucken
ActiveSheet.Range("E8").Value = "28"
Call Drucken
    
End Sub

Sub Drucken()
'Druckbereich des Blattes soll als .pdf gespeichert werden. Der Name der Datei soll dem oben ausgewählten Wert entsprechen

ChDir ThisWorkbook.Path
    Tabelle4.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ActiveSheet.Range("E8").Value & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False

End Sub

Zur Optimierung würde ich gerne noch folgende Funktionen implementieren:
.) Nicht jeder Wert soll zu einer .pdf-Datei, sondern jeder Wert soll einfach zu einer anderen Seite einer Mehrseitigen .pdf-Datei werden.
.) Bei Start des Makros soll sich ein Textfeld öffnen, in welchem mit Checkboxen (inkl. "select all") ausgewählt werden kann, welche Werte denn gedruckt werden sollen. (Also 1-28 oder zB nur 1, 6, 20)

Mir ist klar, dass mein Code wohl ziemlich unelegant ist - bin noch Anfänger und versuche mich über dieses Projekt in die Materie einzuarbeiten...
Danke schon mal für Feedback/Lösungsvorschläge und Ideen! :)
 
Belese dich mal zum Thema Schleifen, damit kannst du deine Struktur erst mal komplett vereinfachen.
Ansonsten ist die Frage, wie der aufgebaut ist und ob man das ohne weiteres auf ein Dokument mit variabler Laenge erweitern kann.

Ansonsten lassen sich die Einzeldateien auch anschließend mithilfe eines externen Programms (bspw. pdftk) zusammenfuegen und die Einzeldateien loeschen.
 
Der alte Thread darf gerne weiter genutzt werden. Ein Blick in die Forenregeln ist auch hilfreich.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben