Clever-Excel-Forum

Normale Version: Druck auf Einzelblätter (VBA)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo @all

ich hätte hier nach langer Zeit mal wieder eine Frage zu VBA.

Ich habe ein Excel-Tabellenblatt das bei einem Ausdruck über drei Seiten gedruckt wird. Da diese drei Seiten jeweils einen anderen Empfänger haben (LKW Fahrer, Spediteur u. unser Unternehmen), sollten die Blätter auch einzeln und nicht im beidseitigen Druck aus dem Drucker kommen.  
Der Druck wird über einen Button in einer Userform angestoßen. 
Ich habe mir zwar ein Makro aufgezeichnet in dem ich versucht habe rauszufinden, wie der Befehl für den Einzeldruck lautet, aber leider ohne Erfolg.

Code:
If MsgBox("Soll der Ladehilfsmittelschein gedruckt werden?", vbYesNo + vbQuestion, "Frage") = vbNo Then Exit Sub
    Worksheets("Ladehilfsmittelschein").PrintOut Copies:=1, Collate:=True
Code:
If MsgBox("Soll der Ladehilfsmittelschein gedruckt werden?", vbYesNo + vbQuestion, "Frage") = vbNo Then Exit Sub
    Worksheets("Ladehilfsmittelschein").PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False


Es wäre schön wenn es hierfür einen Befehl gibt der funktioniert.

Eine zweite Idee wäre sonst, für jede Seite ein Tabellenblatt zu erstellen und nacheinander zu drucken.

Ich bin dankbar für jede Hilfe!
HAllöchen,

hier mal aus der Hilfe
Ausdruck. PrintOut (From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
Hallo André,

danke für deine Antworten.
Ich habe mich jetzt doch dazu entschieden, dies auf drei Tabellenblätter zu verteilen und diese dann hintereinander zu drucken.
Hallo,

auch wenn Dietmar sich umentschieden hat, hier der entsprechende Code zur Frage für weitere Interessierte:

Code:
Sub abc()
  If MsgBox("Soll der Ladehilfsmittelschein gedruckt werden?", vbYesNo + vbQuestion, "Frage") = vbYes Then
    With Worksheets("Ladehilfsmittelschein")
      .PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False
      .PrintOut From:=2, To:=2, Copies:=1, Collate:=True, IgnorePrintAreas:=False
      .PrintOut From:=3, To:=3, Copies:=1, Collate:=True, IgnorePrintAreas:=False
    End With
  End If
End Sub
Hallo Uwe,

wie immer funktioniert es wie gewünscht. 
Danke für deine Lösung! 18