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

Nur bestimmte, ausgefüllte Seiten drucken

Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 10:15:00
Mibo
Hi,
ich habe hinter einen Button ein Makro hinterlegt, das mir von 16 Tabellenblättern nur das zweite ausdruckt:

Sub Nur_Messprotokolle_drucken()
Dim SH%, i%
SH = ActiveWorkbook.Sheets.Count
For i = 1 To SH
Select Case i
Case 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
'mach nichts
Case Else
Sheets(i).PrintOut Copies:=1
End Select
Next
End Sub


Das Zweite Tabellenblatt besteht aus 5 Seiten. Wenn ich also jetzt auf den Button klick druckt es mir ALLE 5 Seiten von Tabellenblatt 2 aus, auch die wo NICHT ausgefüllt sind.
Meine Frage ist nun, wie müsste ich den Code verändern, damit er mir von Tabellenblatt 2 nur die ausgefüllten der insgesammt 5 Blätter ausdruckt.
Ausgefüllt gilt ein Blatt wenn (Seiten werden nacheinenader ausgefüllt):
Seite 1 G19
Seite 2 G63
Seite 3 G107
Seite 4 G151
Seite 5 G195 ausgefüllt ist.
Ich hoffe die erklärung ist verständlich und ihr könnt mir helfen...
Gruß

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 10:24:00
Hajo_Zi
Hallo Mibo,
eine Datei wäre wohl anschaulicher. Jetzt kann man nr vermuten das die Tabelle mit Formel ausgefüllt ist, die noch kein Ergebnis haben. Lege einen Druckbereich auf den ausgefüllten Bereich fest.

AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 10:33:00
Mibo
Die Werte die in die Tabelle eingetragen werden, werden in anderen Tabellenblättern weiter ausgewertet...
Kann man den code den ich hinterlegt habe nicht irgendwie durc heine IF Bedingung ergänzen, der sagt wenn von Tabellenblatt 2 Zeile G19 ausgefüllt ist drucke Seite 1 von Tabellenblatt 2
Zeile G63 ausgefüllt ist drucke Seite 2 von Tabellenblatt 2...

Anzeige
AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 10:44:00
Hajo_Zi
Hallo Mibo,
das kann man bestimmt.
Gruß Hajo

AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 10:47:23
Mibo
...und wie geht das? Kleines Beispiel wäre nett, dann kann ich rum probieren

AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 11:17:00
Hajo_Zi
Hallo Mibo,
Du läst keine Informationen raus. Es reicht ja wenn Du es siehst. Ich kann nur Code ändern, wenn ich ihn sehe. Aus diesem Grunde must Du es schon alleine machen. Da wir uns nun schon ein Weile unterhalten ist bei mir die eigentliche Fragestellung auch schon fort. Ich vermute mal es reicht nicht der Code, es muss schon die Datei sein. Mit Beschreibung was gewünscht.
Gruß Hajo

Anzeige
AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 11:20:54
Mibo
der code steht doch bei meinem ersten Beitrag... incl erklärung was ich will...

AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 11:55:44
Mibo
Frage noch offen

AW: Nur bestimmte, ausgefüllte Seiten drucken
10.08.2007 16:09:00
Harry
Hallo,
nur mal so als Versuch
1. Deine Sub mal Umschreiben in

Sub Nur_Messprotokolle_drucken()
Dim SH%, i%
SH = ActiveWorkbook.Sheets.Count
For i = 1 To SH
Select Case i
Case 2
Sheets(i).PrintOut Copies:=1
Case 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
'mach nichts
Case Else
'mach nichts
End Select
Next
End Sub


damit etwas verständlicher
und dann mal ohne Mustertabelle ungetestet


Sub Nur_Messprotokolle_drucken()
Dim SH%, i%
SH = ActiveWorkbook.Sheets.Count
For i = 1 To SH
Select Case i
Case 2
If (Sheets(i).Range("G19")  "") Then Sheets(i).PrintOut From:=1, To:=1, _
Copies:=1
If (Sheets(i).Range("G63")  "") Then Sheets(i).PrintOut From:=2, To:=2, _
Copies:=1
If (Sheets(i).Range("G107")  "") Then Sheets(i).PrintOut From:=3, To:= _
3, Copies:=1
If (Sheets(i).Range("G151")  "") Then Sheets(i).PrintOut From:=4, To:= _
4, Copies:=1
If (Sheets(i).Range("G195")  "") Then Sheets(i).PrintOut From:=5, To:= _
5, Copies:=1
Case 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
'mach nichts
Case Else
'mach nichts
End Select
Next
End Sub


Einfach mal die Syntax von PrintOut in der VBA-Hilfe anschauen
Gruß
Harry

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige