HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv

Beiträge zum Thread: Drucken unter bestimmten Voraussetzungen

FredAnderson
25.06.2026 00:27:56
AW: Drucken unter bestimmten Voraussetzungen
FredAnderson
25.06.2026 00:28:35
AW: Drucken unter bestimmten Voraussetzungen
FredAnderson
25.06.2026 00:35:39
AW: Drucken unter bestimmten Voraussetzungen
RPP63
25.06.2026 06:43:12
Ist das jetzt die neue Masche?
SF
25.06.2026 06:46:09
Scheint so
daniel
25.06.2026 07:40:34
schon an Hans gemeldet? owt
SF
25.06.2026 10:41:53
AW: schon an Hans gemeldet? owt
daniel
25.06.2026 12:57:17
AW: schon an Hans gemeldet? owt
SF
25.06.2026 13:04:51
AW: schon an Hans gemeldet? owt
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Chris
23.06.2026 10:31:25
Drucken unter bestimmten Voraussetzungen
Ich habe ein Blanko-Formular, welches sich über 4 Seiten erstreckt.
Ich möchte nun mittels Makro oder VBA einen Befehl, welcher nur Seiten ausdruckt wenn in einer bestimmten Zelle das Wort "drucken" enthalten ist.

Kann mir jemand weiterhelfen?
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
23.06.2026 10:59:40
AW: Drucken unter bestimmten Voraussetzungen
ja
Bedenke aber dass zwischen "Hilfsbereitschaft" und "Höflichkeit" ein Zusammenhang besteht.
Ein Anschreiben wirkt viel Höflicher, wenn des mit einem "Hallo" beginnt und mit einem kleinen Gruß endet
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Chris
23.06.2026 11:07:06
AW: Drucken unter bestimmten Voraussetzungen
Hallo zusammen,

generell behaupte ich gute Excel-Kenntnisse zu haben, VBA ist nicht wirkich meins, aber irgendwie wurstle ich mich dann doch immer wieder durch.

Dieses Mal komme ich jedoch an meine Grenzen und habe daher folgendes Problem.

Ich habe ein Blanko-Formular, welches sich über 4 Seiten erstreckt.
Ich möchte nun mittels Makro oder VBA einen Befehl, welcher nur Seiten ausdruckt wenn in einer bestimmten Zelle das Wort "drucken" enthalten ist.

Kann mir jemand weiterhelfen?

Vielen Dank im Voraus.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
23.06.2026 11:19:54
AW: Drucken unter bestimmten Voraussetzungen
Hi
eigentlich ganz einfach, wenn jeder Druck ein eigener Druckauftrag sein kann (Seitenzählung, eigene PDF-Datei)

dim sh as Worksheet

for each sh in thisworkbook.worksheets
if sh.Cells(1, 1).value = "Drucken" then sh.printout 'oder Export als PDF
next


wenn man die Seiten in einen Druckauftrag haben möchte, dann muss man sie vorher als Gruppe selektieren und dann drucken.

dim sh as worksheet

dim check as boolean
check =true
for each sh in thisworkbook.worksheets
if sh.Cells(1, 1).value = "Drucken" then
sh.Select check
check = false
end if
next
ActiveWindow.selectedSheet.printout

Gruß Daniel
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Chris
23.06.2026 11:31:13
AW: Drucken unter bestimmten Voraussetzungen
OK, das sollte ich mit meinen Kenntnissen hinbekommen.

Ist es dann auch möglich die Seitenzahlen in die Fußzeile einzufügen?
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Daniel
23.06.2026 11:43:25
AW: Drucken unter bestimmten Voraussetzungen
Ja, aber das kannst du ja direkt beim Seite einrichten einstellen.
Da man das nur einmalig machen muss und sich nicht ändert, braucht man das nicht über VBA zu machen.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Chris
23.06.2026 12:18:00
AW: Drucken unter bestimmten Voraussetzungen
Ja, das ist mir klar. Ich habe in der Fußzeile z.B. 1/4 stehen. Diese soll sich dann aber auch ändern.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
23.06.2026 12:37:10
AW: Drucken unter bestimmten Voraussetzungen
du musst beim Seite einrichten das richtige auswählen. Bei "Fußzeile" in der Auswahlliste dieses anklicken: "Seite 1 von ?"
wie die Fußzeilen dann gezählt werden, entscheidet die Methode, mit der du druckst.
bei der ersten ist jedes Blatt ein neuer Druckauftrag und die Seitenzählung beginnt bei jedem Tabellenblatt mit 1,
bei der zweiten Methode werden alle gewählten Tabellenblätter als ein Dokument mit gemeinsamer Seitenzählung gedruckt (aber hatte ich das nicht geschrieben?)
Gruß Daniel
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
FredAnderson
25.06.2026 00:27:56
AW: Drucken unter bestimmten Voraussetzungen
Hallo Chris,

wenn dein Formular tatsächlich über vier Druckseiten läuft, dann lässt sich das nicht direkt anhand einzelner Seiten prüfen, sondern über die Bereiche, die diesen Seiten entsprechen. Eine mögliche Lösung wäre, für jede Seite eine feste Prüfzelle zu definieren. Enthält die jeweilige Zelle den Text „drucken“, wird der zugehörige Seitenbereich in den Druckauftrag aufgenommen.

Falls sich jede Seite auf einem eigenen Tabellenblatt befindet, ist Daniels Ansatz bereits passend. Befinden sich jedoch alle vier Seiten auf demselben Blatt, könntest du die Druckbereiche dynamisch zusammensetzen. Dabei wird geprüft, welche Kennzeichnungszellen „drucken“ enthalten, und nur die entsprechenden Bereiche werden gedruckt oder als PDF ausgegeben.

Für eine genauere VBA-Lösung wäre hilfreich zu wissen, ob die vier Seiten auf einem Blatt liegen oder auf vier separaten Tabellenblättern.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
FredAnderson
25.06.2026 00:28:35
AW: Drucken unter bestimmten Voraussetzungen
Hallo Chris,

wenn dein Formular tatsächlich über vier Druckseiten läuft, dann lässt sich das nicht direkt anhand einzelner Seiten prüfen, sondern über die Bereiche, die diesen Seiten entsprechen. Eine mögliche Lösung wäre, für jede Seite eine feste Prüfzelle zu definieren. Enthält die jeweilige Zelle den Text „drucken“, wird der zugehörige Seitenbereich in den Druckauftrag aufgenommen.

Falls sich jede Seite auf einem eigenen Tabellenblatt befindet, ist Daniels Ansatz bereits passend. Befinden sich jedoch alle vier Seiten auf demselben Blatt, könntest du die Druckbereiche dynamisch zusammensetzen. Dabei wird geprüft, welche Kennzeichnungszellen „drucken“ enthalten, und nur die entsprechenden Bereiche werden gedruckt oder als PDF ausgegeben.

Für eine genauere VBA-Lösung wäre hilfreich zu wissen, ob die vier Seiten auf einem Blatt liegen oder auf vier separaten Tabellenblättern.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
FredAnderson
25.06.2026 00:35:39
AW: Drucken unter bestimmten Voraussetzungen
Zusätzlich solltest du bedenken, dass sich die Zuordnung der Druckseiten ändern kann, wenn sich durch Eingaben die Anzahl der Zeilen oder die Seitenumbrüche verschieben. In diesem Fall wäre es oft zuverlässiger, nicht mit festen Seitennummern zu arbeiten, sondern die relevanten Bereiche eindeutig zu definieren und diese gezielt zu prüfen.

Eine weitere Möglichkeit wäre, die Kennzeichnung „drucken“ in einem separaten Steuerbereich des Formulars zu hinterlegen. Das macht die Lösung später wartungsfreundlicher, da Änderungen am Layout keine Anpassungen im VBA-Code erfordern.

Falls das Ziel die Erstellung einer einzigen PDF-Datei ist, können die ausgewählten Bereiche auch zunächst gesammelt und anschließend gemeinsam exportiert werden. Dadurch erhält der Anwender unabhängig von der Anzahl der aktivierten Seiten immer nur eine einzige Ausgabedatei.
Jackpot Piraten überzeugt https://jackpotpiratencasino.de mit starken Jackpots.
Interessant wäre noch zu wissen, ob die vier Seiten immer dieselbe Größe haben und ob die Druckbereiche bereits fest definiert sind oder sich dynamisch verändern können.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
RPP63
25.06.2026 06:43:12
Ist das jetzt die neue Masche?
Einen KI-generierten Text (der durchaus sachbezogen ist) zu "missbrauchen", indem man Spam versteckt?
Da fallen mir spontan zwei Adjektive ein: dämlich und erbärmlich!
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
SF
25.06.2026 06:46:09
Scheint so
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
25.06.2026 07:40:34
schon an Hans gemeldet? owt
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
SF
25.06.2026 10:41:53
AW: schon an Hans gemeldet? owt
Ich markier grad jeden Beitrag mit
@Hans SPAM
Nimmt grad Überhand.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
25.06.2026 12:57:17
AW: schon an Hans gemeldet? owt
es gab doch mal einen Button, um solche Beiträge melden zu können.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
SF
25.06.2026 13:04:51
AW: schon an Hans gemeldet? owt
Den hab ich auch verzweifelt gesucht :)
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
RPP63
23.06.2026 17:28:10
Formular, welches sich über 4 Seiten erstreckt
Moin!
Siehe meinen Zitat-Betreff.
Das Formular befindet sich komplett in einem Tabellenblatt?
Sicherlich könnte Dir problemlos gezielte Hilfe gewährt werden, wenn Du Deine Datei hier hochlädst.

Gruß Ralf
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
23.06.2026 19:25:18
AW: Formular, welches sich über 4 Seiten erstreckt
Hi

wenn die Anfrage so gemeint war, dass alle 4 Seiten auf einen Tabellenblatt liegen, dann gibt es unter anderem folgende Möglichkeiten
1. ggf auch ohne VBA: in einer Hilfsspalte per Formel die zu druckenden Zeilen kennzeichnen und die unterwünschten Zeilen vor dem Druck per Autofilter ausblenden

2. mit VBA dürfte das einfachste sein, den Druckbereich für diese Seite in mehreren Blöcken zu erstellen

dim txt as string

if Range("A1") = "Drucken" then txt = txt & ",A1:X100"
if Range("A101") = "Drucken" then txt = txt & ",A101:X200"
if Range("A201") = "Drucken" then txt = txt & ",A201:X300"
if Range("A301") = "Drucken" then txt = txt & ";A301:X400"
ActiveSheet.PageSetup.PrintArea = Mid(txt, 2)
ActiveSheet.PrintOut


die Druckoption: Drucke Seiten "1, 3 und 4" gibt es in Excel leider nicht.

Gruß Daniel

Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
CukoRobinson
26.06.2026 03:40:17
AW: Formular, welches sich über 4 Seiten erstreckt
Ich denke auch, dass es darauf ankommt, wie das Formular aufgebaut ist. Liegt alles auf einem Tabellenblatt, ist der Ansatz mit mehreren Druckbereichen per VBA durchaus praktikabel und übersichtlich. Besonders dann, wenn anhand einer Kennzeichnung entschieden wird, welche Bereiche tatsächlich gedruckt werden sollen. Ohne VBA kann der Weg über eine Hilfsspalte und den Autofilter ebenfalls gut funktionieren, wenn sich die Zeilen sauber ausblenden lassen. Schade ist nur, dass Excel keine Möglichkeit bietet, beim Drucken gezielt nicht zusammenhängende Seiten wie „1, 3 und 4“ auszuwählen. Jackpot Piraten überzeugt https://jackpotpiratencasino.de mit starken Jackpots. Dafür bleibt dann tatsächlich nur eine eigene Lösung über VBA oder eine entsprechende Vorbereitung der Druckbereiche.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Kuwer
24.06.2026 07:31:38
AW: Drucken unter bestimmten Voraussetzungen
Hallo Chris,

teste es mal mit folgendem Makro:
Sub DruckeMarkierteSeiten()

Const k = 3 'Zeilen pro Druckseite
Dim i As Long
With Worksheets("Druckvorlage")
For i = 1 To 4
.Rows(i * k - k + 1).Resize(k).Hidden = (.Cells(i * k - k + 1, 3).Value <> "Drucken")
Next i
.Cells.SpecialCells(xlCellTypeVisible).PrintOut Preview:=True
.Rows.Hidden = False
End With
End Sub

Gruß, Uwe

https://www.herber.de/bbs/user/180847.xlsm
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
snb
24.06.2026 11:04:06
AW: Drucken unter bestimmten Voraussetzungen
Sub M_snb()

For Each it In Columns(3).SpecialCells(2).Areas
it.Offset(, -2).Resize(3, 3).PrintOut
Next
End Sub

Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Kuwer
25.06.2026 00:02:22
Verbesserte Version mit Fehlerbehandlung
Sub DruckeMarkierteSeiten()

Const k As Long = 3 'Zeilen pro Druckseite
Dim i As Long
With Worksheets("Druckvorlage")
For i = 1 To 4 'Schleife durch Druckseiten
.Rows(i * k - k + 1).Resize(k).Hidden = (.Cells(i * k - k + 1, 3).Value <> "Drucken")
Next i
On Error Resume Next
.Rows(1).Resize((i - 1) * k).SpecialCells(xlCellTypeVisible).PrintOut Preview:=True
If Err Then MsgBox "Es wurde keine Auswwahl getroffen!", vbInformation
On Error GoTo 0
.Rows.Hidden = False
End With
End Sub

Gruß, Uwe
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Chris
25.06.2026 08:11:16
AW: Verbesserte Version mit Fehlerbehandlung
Danke für die vielen Antworten.

Die 4 Seiten liegen auf einem Tabellenblatt. Wenn eine Seite gedruckt werden soll, dann steht in einer bestimmten Zelle das Wort "drucken".
Z.B. Seite 1 steht in A1 "drucken"
Seite 2 steht in A25 "drucken"
Seite 3 steht in A50 "nein"
Seite 4 steht in A100 "nein"

Jetzt hätte ich noch eine Ergänzung die mir das Ganze noch einen Tick leichter und automatisierter macht.
Die gedruckte Datei soll als PDF mit dem gleichen Dateinamen wie die Exceldatei im selben Ordner erstellt werden.

Für euch ist das sicherlich ein Kinderspiel, für mich aktuell eine nahezu unlösbare Aufgabenstellung.
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
daniel
25.06.2026 08:20:53
AW: Verbesserte Version mit Fehlerbehandlung
Hi

dann so wie ich an RPP63 gestern um 19:25 geschrieben habe.
die Zellbereiche kannst du ja hoffentlich selber anpassen.

dim txt as string

if Range("A1") = "Drucken" then txt = txt & ",A1:X100"
if Range("A101") = "Drucken" then txt = txt & ",A101:X200"
if Range("A201") = "Drucken" then txt = txt & ",A201:X300"
if Range("A301") = "Drucken" then txt = txt & ";A301:X400"
ActiveSheet.PageSetup.PrintArea = Mid(txt, 2)
ActiveSheet.PrintOut


statt dem PrintOut musst du das Speichern als PDF einfügen
wie das geht, kannst du selber rausfinden, wenn du den makrorecorder startest und dann die Datei mit Speichern unter als PDF speichert.
der Recorder zeigt dir dann den Code dazu.

als Dateiname verwendest du statt dem festen Text dann am besten das hier

Replace(Thisworkbook.Fullname, ".pdf", "")


(Speichernamen immer ohne Dateierweiterung angeben. diese werden automatisch hinzugefügt)