Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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
Inhaltsverzeichnis

Druck bestimmter Bereiche

Druck bestimmter Bereiche
28.11.2008 13:38:00
Söhnke
Hallo.
Ich möchte aus einem Tabellenblatt nur bestimmte Bereiche per Makro drucken lassen.
Der Bereich A1 bis P13 soll immer gedruckt werden.
Danach sollen nur bestimmte Zeilen gedruckt werden, wenn sie Daten enthalten. (Ansonsten wirklich leere Zellen - also keine Null oder so)
Es kommen nur bestimmte Zeilen überhaupt in Frage. Z.B. Zeile A14-P14, A20-P20 und einige mehr. Kann ich alle definieren. Sobald diese Zeilen also im Bereich J-P (wichtige Einschränkung) Daten enthalten, sollen sie mit gedruckt werden.
Verständlich? Danke für die Hilfe
Söhnke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druck bestimmter Bereiche
28.11.2008 14:04:00
David
Hallo Söhnke,
wenn du nicht zusammengehörige Bereiche als Druckbereich definierst, wird jeder Bereich einzeln auf ein separates Blatt gedruckt. Ist dir das bewußt?
Wenn du alles auf eine Seite haben willst, müsste man dann wohl mit einer Formatierung arbeiten, bei der die nicht benötigten Zellen temporär "unsichtbar" (z. Bsp. weiß auf weiß) formatiert werden.
Dazu wäre es aber schön, wenn man mal eine Beispieltabelle hat, damit man auch sehen kann, welche Art Daten drin stehen (könnten) und wie die Tabelle formatiert ist.
Gruß
David
AW: Druck bestimmter Bereiche
28.11.2008 14:44:00
Andi
Hi,
wenn du nicht zusammengehörige Bereiche als Druckbereich definierst, wird jeder Bereich einzeln auf ein separates Blatt gedruckt. Ist dir das bewußt?
Das kann man umgehen, indem man die Bereiche, die nicht gedruckt werden sollen, vor dem Drucken ausblendet.
Schönen Gruß,
Andi
Anzeige
AW: Druck bestimmter Bereiche
28.11.2008 14:19:44
fcs
Hallo Sönke,
a) Makro-Lösung
Das Makro muss du im VBA-Editor unter Diese Arbeitsmappe einfügen.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim wks As Worksheet, Zeile As Long
Select Case ActiveSheet.Name
Case "Tabelle1" 'Name(n) der Tabelle(n) mit spezieller Druckroutine
Cancel = True
Application.EnableEvents = False
Set wks = ActiveSheet
With wks
Application.ScreenUpdating = False
'Alle Zeilen im Blatt einblenden
.Rows.Hidden = False
'Ab Zeile 14 prüfen, ob in Spalten J bis P Zeileninhalte vorhanden
For Zeile = 14 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(.Range(.Cells(Zeile, 10), _
.Cells(Zeile, 16))) = 0 Then
'ggf. zeile ausblenden
.Rows(Zeile).Hidden = True
End If
Next
Application.ScreenUpdating = True
'Drucken
.PrintOut
'        .PrintPreview
'Alle Zeilen wieder einblenden
.Rows.Hidden = False
End With
Application.EnableEvents = True
Case Else
'do nothing
End Select
End Sub


b) Formel + Autofilter
Trage in einer Separaten Spalte (z.B Q) ab Zeile 14 folgende Formel ein:


=WENN(ANZAHL2(J14:P14)>0;"X";"")


Alle zu druckenden Zeilen haben dann den Eintrag "X".
Markiere den Zellbereich von Zelle Q13 bis zur letzten Zelle mit Formel (z.B. Q65) schalte jetzt im Menü Daten den Autofilter ein.
Vor dem Drucken selektierst du jetzt im Autofilter-Dropdown den Eintrag "X" um die Leerzeilen auszublenden.
Nach dem Drucken kannst du mit Auswahl (Alle) im Filter die Leerzeilen wieder einblendnen.
Den Druckbereich des Tabellenblatts muss du so einrichen, dass er von A1 bis zur letzten Datenzzeile in Spalte P reicht.
Gruß
Franz

Anzeige
AW: Druck bestimmter Bereiche
28.11.2008 15:14:00
Söhnke
Hallo Franz.
Vielen Dank erst einmal dafür. Da ich Laie bin, eine Nachfrage. Ich würde das Makro gerne manuell z.B. per Button in der Tabelle starten können. Es kann sein, dass manche Anwender auch gerne die komplette Liste haben möchte und andere manuell dann über ein Makro das Ganze mit ausgewähltem Bereich bekommen.
Andere Sache - A1 bis P13 ist mein Kopf und soll immer mitgedruckt werden. Wenn in Zeile 14 dann im Bereich J-P etwas steht soll dies die erste gedruckte Zeile sein (direkt im Anschluss an die Kopfzeile). Dann kommt z.B. in Zeile 20 etwas und diese Zeile soll dann direkt (quasi als neue Zeile 15) gedruckt werden.
Es ist im Grunde dann ja so etwas wie ausblenden aller Nullzeilen notwendig.
Anzeige
AW: Druck bestimmter Bereiche
01.12.2008 11:11:00
fcs
Hallo Sönke,
fall nur auf besondere Anforderung ohne Leerzeilen gedruckt werden soll, dann das folgende Makro in ein allgemeines Modul einfügen, ggf. Version mit Tabellennamen anpassen, wen nicht das aktive Blatt gedruck werden soll. Im Blatt selber fügst du dann aus der Symbolleiste "Formular" eine Schaltfläche ein und weist ihr dieses Makro zu.
Unter Seite einrichten richtest du die Zeilen 1 bis 13 als Titelzeilen ein, so dass sie sich auf jeder Seite oben wiederholen, oder du passt den Druckbereich entsprechend an.
Gruß
Franz

Sub Drucken_ohne_Leerzeilen()
Dim wks As Worksheet, Zeile As Long
Set wks = ActiveSheet 'oder = Worksheets("TabellenName")
With wks
Application.ScreenUpdating = False
'Alle Zeilen im Blatt einblenden
.Rows.Hidden = False
'Ab Zeile 14 prüfen, ob in Spalten J bis P Zeileninhalte vorhanden
For Zeile = 14 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(.Range(.Cells(Zeile, 10), _
.Cells(Zeile, 16))) = 0 Then
'ggf. zeile ausblenden
.Rows(Zeile).Hidden = True
End If
Next
Application.ScreenUpdating = True
'Drucken
.PrintOut 'Drucken auf aktiven Drucker
'        .PrintPreview   'Seitenvorschau
'Alle Zeilen wieder einblenden
.Rows.Hidden = False
End With
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige