Excel 2016 - Druckbereich aus Zelle auslesen + festlegen und als PDF exportieren

Dieses Thema im Forum "Interne Ecke" wurde erstellt von verpeilimon, 12 April 2018.

  1. verpeilimon

    verpeilimon
    Expand Collapse
    New Member

    Registriert seit:
    12 April 2018
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen,

    ich bin eigentlich ziemlich fit was den Umgang mit Ecxel angeht....
    Bisher habe ich mich immer mit Formeln etc. und gelegentlich mit "Code-Schnipseln" retten können.

    Dieses Mal komme ich jedoch so gar nicht weiter und hoffe auf eure Hilfe. :-/

    Ich habe ein Formular erstellt welches 5 Seiten enthält.
    Es beinhaltet optionale Inhalte welche ich nur "bei Bedarf" mit in die PDF inkludieren möchte.

    Nun habe ich viel über das dynamische festlegen von Druckbereichen gelesen und an Code Fragmenten dazu experementiert.

    Aber ich bekomme es nicht hin dass folgendes passiert:

    - wenn eine Eingabe im ersten Feld von Blatt 1stattgefunden hat den Wert XX:XX in Zelle M12 eintragen, gab es keine Eingabe dann Feld leer lassen.
    (solche Funktionen habe ich je Seite, bzw. Zellbereich entsprechend hinterlegt. und in der Zelle AJ12 gem Schemata XX:YY;ZZ:AA hinterlegt.

    (Soweit funktioniert das Ganze auch noch...)

    Bisher habe ich mit diesem Makro gearbeitet um die, damals nur 2 fixen Seiten, bzw. Bestandteile zu exportieren:

    Sub PrintOrderPDF()
    ChDir ThisWorkbook.Path
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:= _
    Range("AX1").Value & ".pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=2, OpenAfterPublish:= _
    True
    End Sub

    Auch wenn ich den ursprünglichen Code aus dem Netz und dann angepasst habe denke ich diesen weitestgehend zu verstehen.

    Auch habe ich gelesen dass ich ich z.b. ~ so eine Variable festlegen muss:

    Druckbereich = Range(Range("AJ12")Text).Adress

    Im Anschluss müsste ich, wenn ich das richtig abgeleitet habe.... an entsprechender Stelle schreiben:

    From:= Druckbereich, To:= Druckbereich

    Um dann den entsprechend dynamischen Bereich festzulegen zu exportieren.

    Allerdings schaffe ich es nicht das alles in EIN Makro zu fassen ich bekomme dauernd Fehlermeldungen :-/

    Also:

    1.) Bereich festlegen und mit Wert aus Variable füttern
    2.) Druckbereich gemäß Variable festlegen
    3.) Export des Bereichs zu PDF mit dem Namen "WertAusZelle-AX1".pdf
    4.) Aufheben des bestehenden Druckbereichess ( Für weitere Verwendung)

    Kann mir da einer von euch bei helfen :-/ ?

    Vielen Dank und Viele Grüße
     
    #1 verpeilimon, 12 April 2018
    Zuletzt bearbeitet: 12 April 2018
  2. verpeilimon

    verpeilimon
    Expand Collapse
    New Member

    Registriert seit:
    12 April 2018
    Beiträge:
    2
    Zustimmungen:
    0
    Da ich mich nun , an anderer Stelle, informieren und mir anders helfen konnte möchte ich , so denn jemand ein vergleichbares Problem haben sollte, ihn hier an meiner Lösung teilhaben lassen:

    Sub PrintPDF()
    With ActiveSheet
    .PageSetup.PrintArea = Range(Range("AJ12").Text).Address
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:= _
    Range("B5").Value & ".pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    True
    End With
    End Sub

    Das Makro bezieht den Druckbereich aus der Zelle "AJ12", welche seine Werte wiederum aus verschiedenen Zellen bezieht die bei einer Eingabe im ersten Feld des entsprechenden Druckbereiches, über eine WENN-DANN- [Wenn Eingabefeld="";"";"Zellbereich"] Funktion, die zu druckenden Zellen, im Format "X..:Y.." Hinterlegt hat.

    Den Namen der zu speichernden PDF bezieht das Marko aus der Zelle B5.

    Sollte dir, dieses Makro helfen, wünsche ich dir viel Freude damit.
     
Die Seite wird geladen...

Diese Seite empfehlen