Office: VBA: PDF aus mehreren Tabellenblättern erzeugen

Helfe beim Thema VBA: PDF aus mehreren Tabellenblättern erzeugen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte mehrere Tabellenblätter in ein einziges pdf generieren. Theoretisch sollte dies mit diesem Code gehen:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Stefanau, 8. Oktober 2014.

  1. VBA: PDF aus mehreren Tabellenblättern erzeugen


    Hallo,

    ich möchte mehrere Tabellenblätter in ein einziges pdf generieren.
    Theoretisch sollte dies mit diesem Code gehen:

    Code:
    Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
        
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    Probleme in der Praxis
    1) Ich weiß vorher nicht, welche Tabellen genau gedruckt werden sollen (wird vorher abgefragt)
    --> Wollte ich lösen, indem ich das Array (also die Tabellennamen in der Aufzählung) über Umwege als String generieren lasse - "Index außerhalb des gültigen Bereiches". Hab da auch schon einiges ausprobiert, mal mit Anführungszeichen, mal ohne, mit Leerzeichen, mal ohne...
    2) Offenbar werden die Druckbereiche einfach ignoriert. Gedruckt werden nur die in den Tabellenblättern zuletzt markierten Zellen.
    --> ist sehr merkwürdig. Nehme ich als Code thisworkbook.sheets("Tabelle1").ExportAsFixedFormat ... klappts. Aber auch bei dieser Variante kann ich immer nur ein Tabellenblatt gleichzeitig auswählen.

    Hat irgend jemand eine Idee wie dies elegant zu lösen sein könnte?
    Gruß Stefan
     
    Stefanau, 8. Oktober 2014
    #1
  2. Exl121150 Erfahrener User
    Hallo Stefan,

    das funktioniert, wenn man dynamische String-Arrays verwendet. Im folgenden Codebeispiel anhand deiner Vorgabe habe ich das demonstriert.

    das liegt daran, dass du die Methode "ExportAsFixedFormat" auf das Selection-Objekt statt auf das ActiveSheet-Objekt angewendet hast. Der folgende Code enthält die entsprechende Abänderung:

    Code:
    Sub Makro1()
    
        'Einen dynamischen String-Array deklarieren:
        Dim arrBlätter() As String
        
        'Diesen Array zB. auf 2 Elemente festlegen:
        ReDim arrBlätter(1 To 2)
        arrBlätter(1) = "Tabelle1"
        arrBlätter(2) = "Tabelle2"
        
        'Falls eine Vergrößerung zB. auf 3 Elemente notwendig ist,
        'ohne dabei die bisherigen Elementinhalte zu verlieren:
        ReDim Preserve arrBlätter(1 To 3)
        
        arrBlätter(3) = "Tabelle3"
        
        Sheets(arrBlätter).Select
        Sheets(arrBlätter(1)).Activate
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
            
        'Deselektion der 3 Arbeitsblätter:
        Sheets("Tabelle3").Select
    End Sub
    
     
    Zuletzt bearbeitet: 9. Oktober 2014
    Exl121150, 9. Oktober 2014
    #2
  3. Hallo Anton,
    vielen Dank für Deine Hilfe! So habe ich es jetzt auch hinbekommen!
    Gruß Stefan
     
    Stefanau, 9. Oktober 2014
    #3
  4. VBA: PDF aus mehreren Tabellenblättern erzeugen

    Hallo Anton,
    vielen Dank für Deine Hilfe! So habe ich es jetzt auch hinbekommen!
    Gruß Stefan
     
    Stefanau, 9. Oktober 2014
    #4
Thema:

VBA: PDF aus mehreren Tabellenblättern erzeugen

Die Seite wird geladen...
  1. VBA: PDF aus mehreren Tabellenblättern erzeugen - Similar Threads - VBA PDF mehreren

  2. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  3. Per Makro bestimmten Bereich per PDF unter bestimmten Pfad speichern.

    in Microsoft Excel Hilfe
    Per Makro bestimmten Bereich per PDF unter bestimmten Pfad speichern.: Moin Zusammen, ich hoffe Ihr könnt mir helfen, denn ich verzweifle so langsam :( Ich habe bereits hier und im Internet gefühlt vieles durchgelesen, komme aber leider nicht weiter. Ich möchte...
  4. Druck nur als PDF erlauben

    in Microsoft Excel Hilfe
    Druck nur als PDF erlauben: Hallo Zusammen, ich bin nicht sehr bewand im Thema VBA möchte aber für ein erstelltes Excel-Formular nur einen Druck als PDF erlauben. D.h. es soll beim Drucken nur die Option "Als PDF...
  5. PDF mittels VBA speichern (MacOs 13.1)

    in Microsoft Excel Hilfe
    PDF mittels VBA speichern (MacOs 13.1): Hallo Zusammen, da ich hier schon einige Zeit mitlese und ich einige nützliche Threads gefunden habe, muss ich mich jetzt doch selber mit einem Problem an euch wenden und hoffe mir kann dabei...
  6. VBA-Code für PDF Creator funktioniert nach Update nicht mehr

    in Microsoft Excel Hilfe
    VBA-Code für PDF Creator funktioniert nach Update nicht mehr: Hallo Leute =) folgendes Problem liegt vor. Mithilfe des unten genannten Codes habe ich seit Jahren aus zwei verschiedenen Excel-Dateien bestimmte PDF-Dateien erzeugt. Dabei sind die...
  7. Excel Makro: PDF Drucken aus mehrere Sheets

    in Microsoft Excel Hilfe
    Excel Makro: PDF Drucken aus mehrere Sheets: Guten Tag, ich bin neu im Bereich VBA und habe jetzt ein paar Makros geschrieben. Nun komme ich aber auch nach viel Zeit auf Google nicht weiter :( Mein Ziel: ich will aus 2 Excel Sheets...
  8. mehrere Textdateien mit VBA zu einer PDF zusammenfassen

    in Microsoft Excel Hilfe
    mehrere Textdateien mit VBA zu einer PDF zusammenfassen: Hallo Gemeinde! kann mir bei dem Thema jemand helfen? Danke schon mal Stefan
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden