Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druckreihenfolge per VBA

Druckreihenfolge per VBA
19.11.2008 16:52:00
MAS
Ich habe ein Problem beim Drucken per VBA
Ich möchte:
den Inhalt von mehreren Blättern drucken
dabei sollen diese fortlaufend numeriert sein
die Blätter sollen in einer bestimmten Reihenfolge kommen
Per Aufzeichnung kriege ich es hin, dass alle Blätter gedruckt werden
Dabei wäre auch die Numerierung ok
Ich bekomme es aber nicht hin auf die Reihenfolge Einfluss zu nehmen
z.B. zuerst Tabelle2, dann Tabelle3 und zum Schluß Tabelle1
Hat da von euch jemand einen Tipp?
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Sheets("Tabelle1").Activate
Application.ActivePrinter = "FreePDF XP auf Ne05:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"FreePDF XP auf Ne05:", Collate:=True

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Druckreihenfolge per VBA festlegen
19.11.2008 18:08:00
NoNet
Hallo MAS,
leider kann man die Druckreihenfolge der zu druckenden Blätter nicht direkt festlegen, Excle druckt die Blätter immer in der Reihenfolge, in der sie im Blattregister erscheinen. Um die DRUCK-Reihenfolge zu ändern, musst Du die Reihenfolge der Tabellenblätter entsprechen anpassen. DAS wiederum kann man freilich per VBA erledigen (inkl. der Herstellung der urspünglichen Anordnung der Tabellenblätter).
Voraussetzung : die MAPPE (respektive: Fenster) darf nicht geschützt sein (also kein Arbeitsmappenschutz !) :
VBA-Code:
Sub BlaetterInBeliebigerReihenfolgeAusdrucken()
    '19.11.2008, NoNet
    Dim arrBlaetter, arrOriginal()
    Dim intNr As Integer
    'Hier die gewünschte Druckreihenfolge angeben :
    arrBlaetter = Array("Tabelle3", "Tabelle1", "Tabelle2")
    ReDim Preserve arrOriginal(Sheets.Count - 1)
    'Zunächst die ursprüngliche Reihenfolge speichern :
    For intNr = 0 To Sheets.Count - 1
        arrOriginal(intNr) = Sheets(intNr + 1).Name
    Next
    'Blätter in gewünschte Reihenfolge verschieben :
    For intNr = 0 To UBound(arrBlaetter)
        Sheets(arrBlaetter(intNr)).Move before:=Sheets(intNr + 1)
    Next
    'Gewünschte Blätter markieren :
    For intNr = 0 To UBound(arrBlaetter)
        Sheets(intNr + 1).Select False
    Next
    'Markierte Blätter ausdrucken :
    Application.ActivePrinter = "FreePDF XP auf Ne05:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "FreePDF XP auf Ne05:", Collate:=True
'    Application.ActivePrinter = "Adobe PDF auf Ne04:"
'    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
'        "Adobe PDF auf Ne04:", Collate:=True
    'Ursprüngliche Reihenfolge wieder herstellen :
    For intNr = Sheets.Count - 2 To 0 Step -1
        Sheets(arrOriginal(intNr)).Move before:=Sheets(arrOriginal(intNr + 1))
    Next
End Sub
Gruß, NoNet
AW: Druckreihenfolge per VBA festlegen
MAS

Hallo NoNet,
vielen Dank für die rasche Info und das zugehörige Coding.
Noch nicht getetest - folgt aber in Kürze
Schönen Abend noch
Anzeige
AW: Druckreihenfolge per VBA festlegen
19.11.2008 21:04:00
MAS
Hallo NoNet,
vielen Dank für die rasche Info und das zugehörige Coding.
Noch nicht getetest - folgt aber in Kürze
Schönen Abend noch

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige