Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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

Drucken bestimmter Bereiche

Drucken bestimmter Bereiche
05.09.2017 19:41:09
Al
Hallo zusammen,
ich habe eine Frage:
Gibt es eine Möglichkeit Folgendes zu programmieren. Ich möchte bestimmte Bereiche einer Tabelle namens "Ausgabe" gedruckt haben unter der Vorraussetzung, dass in den gelb markierten Zellen etwas steht ( siehe angehängte Tabelle ). Falls in dieser Zelle nichts steht, soll dieses Blatt nicht gedruckt werden. Die zu druckenden Blätter befinden sich in grau eingerahmten Bereichen.
Ich habe die erste Seiten beispielhaft eingerichtet mit den Rändern
links: 2,5
rechts: 1
oben: 1
unten: 1
Alle anderen Seiten sollen mit den gleichen Rändern gedruckt werden.
Eine weitere Besonderheit soll die Programmierung aufweisen; das Drucken soll auch ( wenn möglich ) erfolgen können, wenn die Tabelle "Ausgabe" ausgeblendet ist.
Ich würde dann einen Button erzeugen in der Tabelle "Vorgabe".
Danke für die Hilfe.
https://www.herber.de/bbs/user/116024.xlsx

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken bestimmter Bereiche
05.09.2017 23:10:13
KlausF
Hallo Al,
das Makro geht davon aus, dass das Druckblatt ausgeblendet ist und
nach den Ausdrucken auch wieder ausgeblendet werden soll.
Im Augenblick wird der Druck nur als Preview angezeigt und nicht
ausgedruckt. Bitte entsprechend im Makro anpassen.
Ich habe immer nur die gelben Zellen im linken Bereich geprüft, weil
die Formeln im rechten Gelb-Bereich immer genau den linken Bereich
anzeigen, ergo also immer beide gedruckt oder nicht gedruckt werden.
Deine Druckeinstellungen (Ränder etc.) sollten übernommen werden.
Kannst ja mal probieren:
Sub Drucken()
Dim i As Long
Dim lastRow As Long
Dim myStep As Long
Dim rngGelb As Range
Dim rngPrint1 As Range
Dim rngPrint2 As Range
Application.ScreenUpdating = False
With Worksheets("Ausgabe")
.Visible = True
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow
myStep = i + 57
Set rngGelb = .Range("A" & i + 8)
If rngGelb  "" Then
Set rngPrint1 = .Range("A" & i & ":O" & myStep - 1)
.PageSetup.PrintArea = rngPrint1.Address
.PrintPreview
'.PrintOut
Set rngPrint2 = .Range("Q" & i & ":AE" & myStep - 1)
.PageSetup.PrintArea = rngPrint2.Address
.PrintPreview
'.PrintOut
End If
i = myStep
Next i
.Visible = xlVeryHidden 'oder: .Visible = Hide
.DisplayAutomaticPageBreaks = False
End With
Set rngPrint1 = Nothing
Set rngPrint2 = Nothing
Set rngGelb = Nothing
End Sub
Feedback wäre nett.
Gruß
Klaus
Anzeige
AW: Drucken bestimmter Bereiche
06.09.2017 08:33:02
Al
Guten Morgen Klaus,
ja das klappt schon gut und das ist auch richtig, dass wenn die linke Seite (Hauptwerte) nicht zu drucken sind, dass auch die rechte Seite (Nebenwerte) ebenfalls nicht gedruckt werden soll.
Jetzt habe ich noch eine Bitte/Frage: Ist es auch möglich, dass man dem Benutzer überlässt mit welchem Drucker/PDF er drucken soll und dass ( bei PDF-Druck ) alle "aktiven" Seiten in einer PDF-Datei gedruckt werden. Mit dem momentanen Code werden alle "aktiven Seiten hintereinander einzeln gedruckt am hinterlegten Drucker, d.h. dass der Benutzer nicht die Wahl hat zu entscheiden wie gedruckt werden soll ( ob auf Papier oder PDF ).
Ich habe auch .PrintPrewiew auskommentiert, da dieser Befehl mir das Blatt "zerschießt", sobald ich bei der Vorschau auf abbrechen klicke.
Gruß
Al
Sub Drucken()
Dim i As Long
Dim lastRow As Long
Dim myStep As Long
Dim rngGelb As Range
Dim rngPrint1 As Range
Dim rngPrint2 As Range
Application.ScreenUpdating = False
With Worksheets("Ausgabe")
.Visible = True
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow
myStep = i + 57
Set rngGelb = .Range("A" & i + 8)
If rngGelb  "" Then
Set rngPrint1 = .Range("A" & i & ":O" & myStep - 1)
.PageSetup.PrintArea = rngPrint1.Address
'.PrintPreview
.PrintOut
Set rngPrint2 = .Range("Q" & i & ":AE" & myStep - 1)
.PageSetup.PrintArea = rngPrint2.Address
'.PrintPreview
.PrintOut
End If
i = myStep
Next i
'oder: .Visible = xlVeryHidden
.Visible = Hide
.DisplayAutomaticPageBreaks = False
End With
Set rngPrint1 = Nothing
Set rngPrint2 = Nothing
Set rngGelb = Nothing
End Sub

Anzeige
möglich ja, aber ...
06.09.2017 09:00:40
KlausF
Moin Al,
ich vermute mal, dass Dein Wunsch realisierbar ist, aber ich bin mit dem Mac unterwegs
und kann deshalb zu einer Druckerauswahl unter Windows nicht viel beitragen.
Da müsste Dir jemand anderes weiter helfen. Ich stelle die Frage mal auf offen.
Gruß
Klaus
AW: möglich ja, aber ...
07.09.2017 15:15:58
Al
Hat vielleicht noch jemand eine Idee? =)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige