Druckbereich fest einstellen?

Hallo Excel-Experten,

kann ich in Excel2000 bei einer Arbeitsmappe mit mehreren Tabellenblättern den Druckbereich so VOREINSTELLEN, dass z. B. nach Druckbefehl die erste Seite (nicht die 2. und nicht die 3.) von Tabelle1, dann die erste von Tabelle2 (ebenfalls nicht die anderen von Tabelle2), dann die erste von Tabelle3 gedruckt wird und nun zu drucken aufhört, obwohl noch Tabelle4 und 5 da sind.

Ich meine damit wirklich voreinstellen, damit diese Art des Drucks immer automatisch nach Öffnen der Datei, bearbeiten und Druckbefehl so wie beschrieben abläuft.

Gibt’s sowas, wenn ja, wie?
Fragt grüßend
Pat

So geht´s

kann ich in Excel2000 bei einer Arbeitsmappe mit mehreren
Tabellenblättern den Druckbereich so VOREINSTELLEN, dass z. B.
nach Druckbefehl die erste Seite (nicht die 2. und nicht die
3.) von Tabelle1, dann die erste von Tabelle2 (ebenfalls nicht
die anderen von Tabelle2), dann die erste von Tabelle3
gedruckt wird und nun zu drucken aufhört, obwohl noch Tabelle4
und 5 da sind.

Ich meine damit wirklich voreinstellen, damit diese Art des
Drucks immer automatisch nach Öffnen der Datei, bearbeiten und
Druckbefehl so wie beschrieben abläuft.

Hallo Interpat,

also Teil 1 ist leicht zu lösen, indem Du einfach im geöffneten Dokument mit Maus und Umschalt-Taste die Tabellenblätter 1 bis 3 markierst (Reiter am unteren Rand), auf „Drucken“ gehst, „Ausgewählte Blätter“ aktivierst und „Seiten 1 bis 1“ angibst.

Sollten allerdings mal andere Seiten hinzukommen (also nicht immer nur die erste Seite), kann dieses Makro hier weiterhelfen:

Option Explicit
Option Base 1
 
 'Makro von Kristian Zarse für Wer-Weiss-Was, 09.11.02
 
Sub Drucken()
Dim Tabelle As Variant
Dim Seiten As Variant
Dim M As String
Dim NurVorschau As Boolean
 
 NurVorschau = (MsgBox("Keine Seitenvorschau, sondern richtig drucken?", \_
 vbYesNo + vbDefaultButton2, \_
 "Druckabfrage") \_
 vbYes)
 M = ""
 
 Tabelle = 1 'kann Tabellen-Nummer oder Tabellen-Name sein (deshalb Variant-Datentyp)
 Seiten = Array(1) 'Nummern der zu druckenden Seiten
 M = M & Ausdrucken(Tabelle, Seiten, NurVorschau)

 Tabelle = "Tabelle2"
 Seiten = Array(1)
 M = M & Ausdrucken(Tabelle, Seiten, NurVorschau)

 Tabelle = 3
 Seiten = Array(1)
 M = M & Ausdrucken(Tabelle, Seiten, NurVorschau)

 Tabelle = 4
 Seiten = Array(1, 3)
 M = M & Ausdrucken(Tabelle, Seiten, NurVorschau)

 Tabelle = "Tabelle5"
 Seiten = Array(1, 3, 4, 5)
 M = M & Ausdrucken(Tabelle, Seiten, NurVorschau)
 
 'Diesen 3-Zeilen-Block entsprechend oft wiederholen und anpassen
 
 MsgBox M
End Sub 'Drucken
 
 
Private Function Ausdrucken(varTabelle As Variant, arrSeiten As Variant, Optional booNurVorschau As Boolean) As String
Dim M As String
Dim s As Byte
 Ausdrucken = ""
 For s = 1 To UBound(arrSeiten)
 M = "Tabelle/Seite: " & varTabelle & "/" & arrSeiten(s) & " --- "
 On Error Resume Next
 Sheets(varTabelle).PrintOut From:=arrSeiten(s), To:=arrSeiten(s), Copies:=1, Preview:=booNurVorschau
 If Err.Number 0 Then M = M & Err.Description Else M = M & "gedruckt"
 On Error GoTo 0
 Ausdrucken = Ausdrucken & M & vbCr 'Zeilenumbruch
 Next s
End Function 'Ausdrucken

Damit kannst Du auch das Ganze automatisieren, indem Du nämlich das „Drucken“ aus der Prozedur „WorkbookOpen“ oderso aufrufst, die, falls sie existiert, automatisch beim Öffnen ausgeführt wird. Wenn Du das brauchst, gucke ich nochmal nach. Sind nur drei Zeilen, aber bevor ich hier was falsches tippe …

Kristian