Einzelseiten drucken per VBA-Lösung

  • geschlossen
  • Excel

  • totsch
  • 4777 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Einzelseiten drucken per VBA-Lösung

    hallo zusammen,

    in Word kann man ja angeben, welche Seiten gedruckt werden sollen z.B. 2;5;7
    in Excel gibt es bekannterweise die Option nicht.

    Excel 2007
    mir ist zwar die Möglichkeit nur den markierten Bereich bzw. mehrere markierte Bereiche zu drucken bekannt (Drucken >> Markierung), aber ich suche eine Möglichkeit per VBA nur die Seitenzahl(en) anzugeben, die gedruckt werden sollen. Sobald ich solch ein Makro ausführe, soll sich wenn möglich zuerst ein Fenster öffnen, wo ich entsprechende zu druckende Seitenzahlen eingeben kann.

    Beispiel (Umbruchvorschau):


    entsprechend der Umbruchanzeige sollen z.B. nur die Seiten 2 und 7 gedruckt werden.
    Bemerkung: es kann in meinen Excel-Tabellen teilweise bis zu 30 Seiten geben.

    Kann evtl. jemand helfen? Danke.
    .....................Geld allein macht nicht glücklich. Es gehören auch noch Aktien, Beteiligungen, Gold und Grundstücke dazu.
  • diese Anleitung gilt für Excel 2010, aber auch dort ist nichts erkennbar, um nur z.B. nur Blatt 2 und 7 zu drucken, wie in der Umbruchvorschau angezeigt.
    Dort steht auch nur
    Drucken von gesamten Arbeitsblättern oder Arbeitsmappen oder Teilen davon
    3. Wählen Sie unter Einstellungen eine Option zum Drucken der Auswahl, der aktiven Arbeitsblätter oder der gesamten Arbeitsmappe aus.

    leider keine Aussage über Drucken von ausgewählten Seiten entsprechend der Umbruchvorschau.
    Die Option "Einstellungen" gibt es in 2007 nicht.

    Warte also immer noch auf eine VBA-Lösung :confused:
    .....................Geld allein macht nicht glücklich. Es gehören auch noch Aktien, Beteiligungen, Gold und Grundstücke dazu.
  • Hallo totsch,

    eine wirklich interessantes VBA-Anliegen hast Du da.
    So viel ich weiß ist dies tatsächlich nur mit sehr, sehr viel Coding-Aufwand möglich.
    Bei meinen Arbeit-/Auftragsgebern wird jedoch eine alternative Methode vorgenommen.

    Da ich davon ausgehe, dass Du Dich gut mit VBA unter Excel auskennst hier eine vorerst recht allgemeine Erklärung, die Dir vielleicht schon reicht:

    Wir arbeiten grundsätzlich mit Namenstabellen oder gar wirklichen List-Objects.
    Diese besitzen immer ein Range-Object - werden aber über ihren definierten Namen aufgerufen.
    Bei richtiger Anwendung vergrößern oder verkleinern sich deren Ranges bei Zeilen -Neueingaben oder -Löschungen dynamisch.

    Definiere für jede Deiner Tabellen auf einem Worksheet einen eindeutigen Namen (z.B. über Menü "Formeln"-->"Namensmanager").
    Damit besitzt jede Deiner Tabellen einen bestimmten, aufrufbaren Range.

    Ein sehr einfacher Fall wäre dieser:
    Bastle Dir eine Form mit einer Dropdownbox oder Listbox in der alle Namenstabellen auftauchen.
    Über einen Doppelklick auf einen dieser Einträge (Double-Click Event) öffnest Du den Drucker-Vorschau Dialog.
    Der Rest (Dialog: Seite Formatieren etc.) wird entweder über diesen Dialog abgearbeitet oder kann schon im Vorfeld über VBA festgelegt werden.
    Solltest Du dies hinbekommen haben, ist das "Durchbatchen" der Einzelseiten (sprich Einzeltabellen) sicherlich kein Problem mehr für Dich,
    da Du das Markieren der Namenstabellen in der Listbox z.B. auf eine multiple Auswahl umstellst.

    Druckvorschau-Dialog:
    Worksheet.PrintPreview-Methode (Excel)
    = Range.PrintPreview (True/False)
    z.B. ActiveSheet PrintPreview (True)
    z.B. <Namenstabelle>.PrintPreview (True)


    Drucken ohne Vorschau:
    Worksheet.PrintOut-Methode (Excel)

    = syntax siehe Druckvorschau-Dialog

    Hab' im Moment sehr wenig Zeit, Dir ein komplettes Beispiel zur Verfügung zu stellen.
    Vielleicht magst Du diese alternative Lösung auch gar nicht.
    Wie auch immer, diese Möglichkeit IST mit ein wenig Arbeit zumindest realisierbar.
    Hoffe das hilft weiter.
  • Dancefree schrieb:

    Da ich davon ausgehe, dass Du Dich gut mit VBA unter Excel auskennst
    üüüberhaupt nicht! mein Spezialgebiet sind Formellösungen etc.

    Dancefree schrieb:

    So viel ich weiß ist dies tatsächlich nur mit sehr, sehr viel Coding-Aufwand möglich.
    habe ich mir auch schon gedacht. Den Aufwand, den du beschrieben hast, will ich mir gar nicht erst antun. Danke dir trotzdem für deine Mühe!
    Ich dachte es gibt evtl. eine elegantere fertige VBA-Lösung bzw. irgendwo im Netz dazu ein Addin. Ansonsten muss ich wohl oder übel weiterhin wie bisher mehrmals den Druckdialog aufrufen und dann entsprechende Einzelseiten drucken. :thumbdown:

    Ich lass mal noch offen, falls doch noch jemand eine Lösung hat.
    .....................Geld allein macht nicht glücklich. Es gehören auch noch Aktien, Beteiligungen, Gold und Grundstücke dazu.