Hallo Tom,
versuche es mal so:
1. Habe ich
Sheets("blabla22322").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
in
Sheets("blabla22322").PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
geändert. Das hat keinen direkten Einfluss auf die Funktionalität, aber Du musst die Blätter nicht selectieren und dann den selektierten Bereich drucken. Es reicht die Blätter direkt zu drucken. Bei größeren Codes erhöht sich hierdurch die Geschwindigkeit deutlich.
2. Zur Lösung Deines Problems habe ich das ursprüngliche workbook über
Dim wb As Workbook, wbNeu As Workbook
Set wb = ThisWorkbook
in einer Variablen gespeichert, so kannst Du es direkt ansprechen ohne es zu aktivieren.
Die neu zu öffnende Datei habe ich in der Variablen wbNeu gespeichert und hierüber angesprochen.
Option Explicit
Sub PRINTitALLbaby()
'
' PRINTitALLbaby Makro
'
'
Dim wb As Workbook, wbNeu As Workbook
Set wb = ThisWorkbook
Sheets("blabla22322").PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("blabla24462").PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("blabla12679007").PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Tabelle1").Select
Workbooks.Open Filename:="T:\.................................xlsm"
Set wbNeu = ActiveWorkbook
wbNeu.Close
wb.Close saveChanges:=False
End Sub
Ich hoffe das hilft
Viele Grüße
Kai
|