Microsoft Excel

Herbers Excel/VBA-Archiv

Mehrere Worksheets für Druck selectieren

Betrifft: Mehrere Worksheets für Druck selectieren von: Pflaume
Geschrieben am: 07.03.2016 09:55:30

Hallo Excelperten,

ich habe eine Arbeitsmappe bestehend aus 14 Tabellen. Hiervon sollen zum Ende meiner Auswertung die ersten 13 Seiten gedruckt werden. Da die Tabellenblätter individuelle Namen (vom künftigen User selbst auswählbar) haben, musste ich die Tabellenblätter in den Makros von z.B. Sheet.Tabelle("T_01") auf Worksheet(01) umbenennen. Dadurch hat die Namensgebung keine Auswirkung auf meine Makros. Alle Makros funktionieren dauerhaft, egal wie sie der künftige User benennt. Und hier mein Problem:

Bislang sende ich für jedes Worksheet den Druckbefehl einzeln. Das heißt, es öffnen sich nacheinander 13 kleine Fensterchen für den Druckauftrag. Da die Aufträge an einen Drucker geschickt werden, auf den man den Mitarbeiterausweis auflegen muss, damit man seine Ausdrucke erhält, dauert das umso länger (ca. 2 Minuten). Mein Makro sieht momentan so aus, da ich noch keine andere Lösung gefunden habe, wie man mehrere Worksheets selektiert und an den Drucker schickt:

Application.ActivePrinter = "\\SW020910.europe.bmw.corp\secure auf Ne02:"

Worksheets(1).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(2).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(3).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(4).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(5).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(6).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(7).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(8).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(9).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(10).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(11).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(12).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Worksheets(13).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.ScreenUpdating = True
Worksheets(1).Select

Es muss doch eine Möglichkeit geben, wie man die 13 Worksheets selektieren und gemeinsam an den Drucker schicken kann oder? Bitte helft uns, damit wir unser Projekt beenden können. Vielen lieben Dank schon mal. Gruß Pflaume

  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Michael (migre)
Geschrieben am: 07.03.2016 10:13:12

Hallo!

BMW hat keine IT-Abteilung für solche Dinge? ;-)

zB so:

Sub a()

    Dim i As Long
    
    Application.ScreenUpdating = False
    Application.ActivePrinter = "\\SW020910.europe.bmw.corp\secure auf Ne02:"

    For i = 1 To 13
        Worksheets(i).Select False
    Next

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    
    Application.ScreenUpdating = True
    Worksheets(ThisWorkbook.Worksheets.Count).Select
    Worksheets(1).Activate
    
End Sub
LG
Michael


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Mario
Geschrieben am: 07.03.2016 10:20:26

Vielen Dank für die schnelle Antwort. Das sieht schon mal sehr vielversprechend aus! Werde ich heute gleich mal testen. Danke


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: JoWE
Geschrieben am: 07.03.2016 10:17:10

Hallo,

versuch's mal so:

Sheets(Array1, 2, 3,4,5,6,7,8,9,10,11,12,13)). _
PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False


Gruß
Jochen


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Pflaume
Geschrieben am: 07.03.2016 10:21:29

So haben wir es schon probiert. Hat leider nicht geklappt aber trotzdem danke


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Michael (migre)
Geschrieben am: 07.03.2016 10:44:10

Hallo!

Jochen's Variante müsste schon auch klappen - da hat er, glaub ich, nur eine Klammer vergessen:

Sub a()
    Sheets(Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)).PrintOut _
    Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub
LG
Michael


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: JoWE
Geschrieben am: 07.03.2016 11:16:06

...ja, stimmt.
Thx
Jochen


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Pflaume
Geschrieben am: 08.03.2016 00:41:56

Top!!! Das wars! So hats geklappt!!! 1000 Dank euch beiden!


  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Pflaume
Geschrieben am: 08.03.2016 00:42:35

Top!!! Das wars! So hats geklappt!!! 1000 Dank euch beiden!


  

Betrifft: Gerne, Danke für die Rückmeldung, owT von: Michael (migre)
Geschrieben am: 08.03.2016 08:14:02




  

Betrifft: AW: Mehrere Worksheets für Druck selectieren von: Werner
Geschrieben am: 08.03.2016 10:27:55

Hallo,

die Lösung mit dem Array wurde euch in einem eurer insgesamt 5 Beiträgen zum gleichen Problem (mal Peter, mal Mario, mal Pflaume) hier https://www.herber.de/forum/messages/1480057.html bereits angeboten.

Gruß Werner


 

Beiträge aus den Excel-Beispielen zum Thema "Mehrere Worksheets für Druck selectieren"