Nur einzelne Worksheets drucken

Bild

Betrifft: Nur einzelne Worksheets drucken von: jan-und-jana
Geschrieben am: 24.02.2005 09:32:00

Hallo,

Ich habe in meinem Excel-Workbook, 15 Worksheets (13 sichtbare und 2 verborgene(Einstellungen, Druck))
Wenn das Druck-Event angeschoben wird möchte ich, egal in welchem Worksheet ich mich gerade befinde, dass das Worksheet('Druck') gedruckt wird.Dies soll automatisiert geschehen ohne das ich in dem Drucken-Dialog ein bestimmtes Tabellen-Blatt selektieren muß.

Ich bedanke mich im vorraus für die schnelle Hilfe.

Gruß
jan-und-jana

Bild


Betrifft: AW: Nur einzelne Worksheets drucken von: Fred
Geschrieben am: 24.02.2005 09:35:57

Sheets("Druck").printout

Fred


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: jan-und-jana
Geschrieben am: 24.02.2005 09:55:33

Hallo,

vielen Dank für die schnelle Hilfe, hat super geklappt.
Die geschilderte Action ist in der Methode:
'Private Sub Workbook_BeforePrint(Cancel As Boolean)'
implementiert.
Wenn der Befehl Sheets("Druck").printout abgearbeitet wird passiert bei mir folgendes:
- das Druck-Sheet wird an den Standart-Drucker geschickt und gedruckt
- es wird der Druck-Dialog geöffnet
- nachdem ich diesen bestätige durch [ok] wird das ActiveSheet noch gedruckt

Ich möchte nun aber, dass:
- befor das Druck-Sheet gedruckt wird der Druck-Dialog geöffnet wird, so dass ich mir unter Umständen einen anderen Drucker heraus suchen könnte
- und das der Druck-Dialog für das ActiveSheet erst gar nicht erscheint
- sondern nachdem mein Druck-Sheet gedruckt wurde der oben genannte den Vorgang abbricht und zur Arbeitsmappe zurückkehrt

Vielen Dank nochmal für die Mühe,

Gruß jan-und-jana


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: Bert
Geschrieben am: 24.02.2005 10:03:58


Sub mach_Druck()
Dim ret As Variant
ret = Application.Dialogs(xlDialogPrint).Show
If ret <> False Then
Sheets("Druck").PrintOut
ActiveSheet.PrintOut
End Sub


Bert


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: Bert
Geschrieben am: 24.02.2005 10:27:35

was vergessen:


Sub mach_Druck()
Dim ret As Variant
ret = Application.Dialogs(xlDialogPrint).Show
If ret <> False Then
Sheets("Druck").PrintOut
ActiveSheet.PrintOut
End If
End Sub



Bert


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: jan-und-jana
Geschrieben am: 24.02.2005 10:34:53

Hallo,

vielen Dank auch für diese Antwort, so komme ich Stück für Stück dem Ziel immer näher.
Ich habe die obige Lösung einmal in mein Workbook eingefügt:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim ret As Variant
    ret = Application.Dialogs(xlDialogPrint).Show
    If ret <> False Then
    Sheets("Druck").PrintOut
    End If
End Sub

Nun passiert bei mir folgendes:
- ich schiebe das Druck-Event aus dem ActiveSheet("Einstellungen") an
- der Druck-Dialog wird geöffnet ich bestätigen ihn mit [ok]
- es wird zuerst das Sheet("Einstllungen") gedruckt und dann mein gewünschtes Sheet("Druck")
- es öffnet sich erneut der Druck-Dialog
- wenn ich diesen Abbreche passiert nichts weiter
- wenn ich diesen mit [ok] bestätige wird wieder das Sheet("Einstellungen") gedruckt

WO ich hin möchte:
- das nie das Sheet("Einstellungen") (=ActiveSheet) gedruckt wird
- sondern nur das Sheet("Druck") (inkl. des Dialogs)

Vilen dank nochmal für die schnelle Hilfe

Gruß jan-und-jana


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: Bert
Geschrieben am: 24.02.2005 10:56:12


Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim ret As Variant
    ret = Application.Dialogs(xlDialogPrint).Show
    If ret <> False Then
    Sheets("Druck").PrintOut
    End If
Cancel = true
End Sub


Bert


Bild


Betrifft: AW:AW: Nur einzelne Worksheets drucken von: jan-und-iana
Geschrieben am: 24.02.2005 11:50:49

Danke, Danke für die schnelle´n Antworten
Jetzt ist es fasst perfekt, ich habe folgendes geändert:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim ret As Variant
    Dim objWorksheetActive, objWorksheetSource As Worksheet
    
    Set objWorksheetSource = ActiveSheet
    Set objWorksheetActive = ActiveWorkbook.Worksheets("Druck")
    objWorksheetActive.Activate
    
    
    Application.EnableEvents = False
    ret = Application.Dialogs(xlDialogPrint).Show
    If ret <> False Then
'        Sheets("Druck").PrintOut
    End If
    
    Application.EnableEvents = True
    Cancel = True
    objWorksheetSource.Activate
    
    Set objWorksheetSource = Nothing
    Set objWorksheetActive = Nothing
End Sub


Weil immer das ActiveSheet mit gedruckt wurde.
Vielen Dank nochmal für die schnelle und kompotente Hilfe.

Gruß
jan-und-jana


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nur einzelne Worksheets drucken"