Hallo Karl,
wenn Du nur einen Teil der Sheets ausdrucken möchtest, kannst Du selektiv herauspringen.
Wenn es immer die ersten sind, reicht ein Mitzähler, s. Code, ansonsten müsstest Du eine Index- oder Namensliste berücksichtigen.
Ein PopUp ist ein Meldungsfenster, welches sich selbständig wieder schließt.
Einfachste Form ist die CreateOpject...-Version, - siehe Code -, die aber leider immer häufiger nicht mehr überall fuktioniert.
Die MessageboxTimeOut funktioniert auf jeden Fall, hierfür brauchst Du die Declares ganz oben.
Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21 |
|
' Nur für MessageBoxTimeoutA
Private Declare PtrSafe Function MessageBoxTimeoutA Lib "user32.dll" ( _
ByVal hWnd As LongPtr, ByVal lpText As String, _
ByVal lpCation As String, ByVal uType As Long, _
ByVal wLanguageId As Integer, ByVal dwMiliseconds As Long) As Long
Sub Januar_drucken()
Dim WsTabelle As Worksheet
For Each WsTabelle In Sheets
If WsTabelle.Index > 13 Then Exit Sub
WsTabelle.PrintOut From:=1, To:=1, Copies:=1 ' jeweils die erste Seite wird gedruckt
' WsTabelle.PrintOut
Next WsTabelle
Rem CreateObject("Wscript.shell").popup "Hat geklappt. Das war's", 1, "TimeOut", vbOKOnly Or vbInformation
MessageBoxTimeoutA Application.hWnd, _
"Hat geklappt. Das war's", _
"TimeOut", vbInformation, 0, 3000 ' 3000 = 3 Sekunden
End Sub
|
_________
viele Grüße
Karl-Heinz
|