Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ausdruck

Ausdruck
29.07.2003 17:20:06
Thomas
Liebes Forum!
Ich würde gerne eine Range markieren und auf einer Seite ausdrucken.
Mit folgenden Code funktioniert zwar das Markieren jedoch wird jede Spalte auf eine eigene Seite gedruckt. Wie bekomme ich das Ganze auf eine Seite?
Range("B2:B62,F2:F62,H2:H62,I2:I62").Select
Selection.PrintOut
Dank und Gruß
Thomas

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausdruck
29.07.2003 17:27:59
Kolumne: So können Sie das Setzen von Druckbereichen in Makros automatisieren
Versionen: Excel 97, 2000 und 2002/XP
Wenn man eine Tabelle ausdruckt, werden standardmäßig immer alle Seiten, die in dieser Tabelle gefüllt sind, komplett ausgedruckt, es sei denn, man hat sich einen Druckbereich über das Menü Datei und den Befehl Druckbereich / Druckbereich festlegen definiert. Wurde ein Druckbereich eingestellt, dann wird nur der Druckbereich der Tabelle ausgedruckt.
Druckbereiche setzen
Das Setzen von Druckbereichen kann selbstverständlich auch über Makros erledigt werden. Das folgende Makro setzt einen Druckbereich von A1:C10 in "Tabelle1":

Sub DruckbereichSetzenVar01()
Sheets("Tabelle1").PageSetup.PrintArea = _
Range("A1:C10").Address
End Sub

Setzen Sie die Eigenschaft PrintArea ein, um einen Druckbereich auf einer Tabelle einzurichten. Dabei müssen Sie über die Eigenschaft Address einen Zellenbereich in der Tabelle angeben.
Das nächste Makro setzt einen Druckbereich aufgrund der vorher durchgeführten Markierung.

Sub DruckbereichSetzenVar02()
ActiveSheet.PageSetup.PrintArea = Selection.Address
End Sub

Das Einrichten von Druckbereichen wird erst richtig interessant, wenn das manuelle Setzen von Druckbereichen recht aufwendig ist. Im nächsten Beispiel wird der Druckbereich auf allen vorher gruppierten Tabellen durchgeführt:

Sub DruckbereichAufMehrerenTabellen()
Dim s_Bereich As String
Dim tbl As Worksheet
s_Bereich = "A1:B10"
For Each tbl In ActiveWindow.SelectedSheets
tbl.PageSetup.PrintArea = tbl.Name & "!" & s_Bereich
Next
End Sub

Definieren Sie im ersten Schritt den Bereich der als Druckbereich auf den gruppierten Tabellen eingerichtet werden soll. Danach durchlaufen Sie in einer Schleife alle Tabellen, die sich momentan in der Gruppierung befinden und weisen der Eigenschaft PrintArea den vorher definierten Bereich zu. Dabei muss der Namen der jeweiligen Tabelle mit angegeben werden. Die gruppierten Tabellenblätter können Sie mithilfe der Eigenschaft SelectedSheets ermitteln.
Druckbereiche löschen
Um einen Druckbereich auf der aktiven Tabelle wieder aufzuheben, starten Sie das folgende Makro aus:

Sub DruckbereichAufheben()
ActiveSheet.PageSetup.PrintArea = False
End Sub

Setzen Sie die Eigenschaft PrintArea auf den Wert False, um einen Druckbereich in einer Tabelle wieder aufzuheben. Alternativ können Sie dieser Eigenschaft auch einen Leerstring (PrintArea = "") zuweisen, um den Druckbereich aufzuheben.
Ein weiteres Beispiel für das Entfernen von Druckbereichen liefert das folgende Makro. Bei dieser Lösung wird der Druckbereich auf allen Tabellen einer Arbeitsmappe entfernt:

Sub DruckbereichAufAlenTabelleEntfernen()
Dim tbl As Worksheet
For Each tbl In ActiveWorkbook.Worksheets
tbl.PageSetup.PrintArea = ""
Next
End Sub

In einer Schleife durchlaufen Sie alle Tabellen der aktiven Arbeitsmappe. Diese Tabellen sind alle in der Auflistung WorkSheets enthalten. Innerhalb der Schleife weisen Sie der Eigenschaft PrintArea einen Leerstring zu, um den jeweiligen Druckbereich der Tabelle zu entfernen.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige