Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Druckmakro

Druckmakro
27.03.2008 16:42:00
Sascha
Hallo Leute,
ich habe eine Datei, die ca 50 Arbeitsblätter umfasst, aus der ich immer einzelne Blätter drucken muss. Das ist mir soweit auch gelungen, der Code dazu sieht so aus:

Sub Druckauswahl()
Dim Zelle As Range, ws1 As Worksheet, wsReg As Worksheet, fehler%
On Error GoTo fehler
Set ws1 = Worksheets("Druckauswahl")
For Each Zelle In ws1.Range("B4:B8,I4:I15,I19:I30,N4:N15,N19:N30,S4:S15,S19:S30,X4:X15,X19: _
X30,AC4:AC15,AC19:Ac30,AH4:AH15,AH19:AH30,AM4:AM15,AR4:AR15")
If Zelle.Value > 0 Then
fehler = 1
Set wsReg = Worksheets(Zelle.Offset(0, 1).Value)
fehler = 0
With wsReg
'Titelzeilen festlegen (werden auf jeder Seite wiederholt)
.PageSetup.PrintTitleRows = .Range(.Rows(5), .Rows(5)).Address
'Druckbereich festlegen
'.PageSetup.PrintArea = .Range(.Cells(6, 2), _
.Cells(.UsedRange.Row + .UsedRange.Rows.Count - 1, 5)).Address
'.PageSetup.CenterHorizontally = True
End With
wsReg.PrintOut Copies:=Zelle.Value
'      wsReg.PrintPreview
End If
NextBlatt:
Next
GoTo ende
fehler:
Select Case fehler
Case 1
MsgBox "Der Name des Tabellenblatts in Tabelle 1: " & Zelle.Offset(0, 1) _
& vbLf & " existiert nicht!"
Resume NextBlatt
Case Else
MsgBox "Fehler Nr. " & Err.Number & " ist aufgetreten!" & vbLf & Err.Description
End Select
ende:
Set ws1 = Nothing: Set wsReg = Nothing: Set Zelle = Nothing
End Sub


Jetzt habe ich das Problem, dass die Blätter nacheinander gedruckt werden, am Besten wäre es aber, wenn alle gleichzeitig gedruckt werden, also der Befehl STRG und dann das entsprechende Blatt markieren und am Ende alles drucken, da ich einen PDF Printer verwende, der alles in eine Datei drucken soll. Danke für Eure Bemühungen
https://www.herber.de/bbs/user/51085.xls

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckmakro
27.03.2008 23:56:14
Daniel
Hallo
hier das Makro, um die ausgewählten Blätter zu gemeinsam zu selektieren (mit STRG) und so in eine Datei auszudrucken.
Die Fehlerbehandlung hab ich jetzt mal aussenvor gelassen, das müsstest du wieder einbauen.
entscheidend ist der Befehl: Sheets(xxx).Select 0. durch die 0 wird festgelegt, daß die alte Selektion erhalten bleibt und die neue hinzugefügt wird (quasi das STRG).
die Schleife muss 2x laufen das erstmal ohne "STRG" und erst das zweite mal mit "STRG", damit sichergestellt ist, daß vor dem 2. Lauf auch ein Blatt selektiert ist, das gedruckt werden soll, da das Blatt das vor dem 2. Lauf selektiert ist, auf jeden Fall mitgedruckt wird.

Sub Druckauswahl()
Dim Zelle As Range, ws1 As Worksheet, wsReg As Worksheet, fehler%
Set ws1 = Worksheets("Auswahl")
For Each Zelle In ws1.Range("B4:B8,I4:I15,I19:I30,N4:N15,N19:N30,S4:S15,S19:S30,X4:X15,X19: _
X30,AC4:AC15,AC19:Ac30,AH4:AH15,AH19:AH30,AM4:AM15,AR4:AR15")
If Zelle.Value > 0 Then
Set wsReg = Worksheets(Zelle.Offset(0, 1).Value)
With wsReg
.PageSetup.PrintTitleRows = .Range(.Rows(5), .Rows(5)).Address
.Select
End With
End If
Next
For Each Zelle In ws1.Range("B4:B8,I4:I15,I19:I30,N4:N15,N19:N30,S4:S15,S19:S30,X4:X15,X19: _
X30,AC4:AC15,AC19:Ac30,AH4:AH15,AH19:AH30,AM4:AM15,AR4:AR15")
If Zelle.Value > 0 Then Worksheets(Zelle.Offset(0, 1).Value).Select 0
Next
ActiveWindow.SelectedSheets.PrintOut
End Sub


allerdings ist des auf diese Weise nicht mehr möglich, für jedes Blatt eine andere Anzahl zu verwenden, die Anzahl der Copien ist für alle Bätter gleich.
Gruß, Daniel
btw das einrichten der Kopfzeile würde ich an einer anderen Stelle machen, da es sehr viel Zeit benötigt.

Anzeige
AW: Druckmakro
28.03.2008 08:41:00
Sascha
Danke funktioniert teilweise ganz gut, wenn ich manche Zellen mit eins belege kommt allerding der Laufzeitfehler 9 woran kann das denn liegen?

AW: Druckmakro
28.03.2008 10:13:07
Sascha
Hallo, Danke Euch für die freundliche Hilfe, alles klappt jetzt!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige