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

Druckbereich - nicht alle Sheets!

Druckbereich - nicht alle Sheets!
25.01.2005 21:09:46
Jean-Pierre
Hallo zusammen,
ich habe diesen Code:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & Range("A65536").End(xlUp).Row
End Sub

in "Diese Arbeitsmappe".
Ich möchte jedoch diesen nur für die Blätter 2-13 (Januar-Februar).
Im ersten Blatt (Gesamt) soll der Code so lauten:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("A25").End(xlUp).Row
End Sub

Ich hoffe dies ist so richtig.
Ich möchte das die nachfolgenden Leerzeilen nicht mitgedruckt werden!
Kann mir jemand helfen, bin ein absoluter Neuling was VBA betrifft?
Schöne Grüße aus Berlin
Jean-Pierre

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:17:44
Ramses
Hallo
Wenn sonst keine anderen Blätter mehr im Workbook sind, probier mal folgendes

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim i As Byte
For i = 1 to Worksheets.Count
If Worksheets(i).Name <> "Gesamt" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & Range("A65536").End(xlUp).Row
else
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("A25").End(xlUp).Row
End If
End Sub


Ungetestet, sollte aber tun
Gruss Rainer
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:32:11
Jean-Pierre
Hallo Rainer,
erstmal vielen Dank, ein Blatt habe ich noch (Para) das wird aber nachher ausgeblendet.
Wo setze ich den Code rein, "Diese Arbeitsmappe"?
Gruß aus Berlin
Jean-Pierre
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:41:58
Ramses
Hallo
das gehört da rein, wo den anderen Code rauskopiert hast :-)
In das Klassenmodul "Diese Arbeitsmappe"
Gruss Rainer
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:33:19
Beate Schmitz
Hallo Jean-Pierre,

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Gesamt" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row
Else
ActiveSheet.PageSetup.PrintArea = "$A$1:$P$" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row
End If
End Sub

Dieser Code druckt bis zur letzten Zeile, in der was steht, egal, in welcher Spalte, solange sie im Druckbereich liegt.
Gruß,
Beate
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:35:50
Beate Schmitz
Hallo Jean-Pierre,
richtig, Workbook_BeforePrint-Makros gehören ins Codefenster "dieseArbeitsmappe".
Soll das Blatt Para von Druckmöglichkeit ganz ausgenommen werden oder nach dem Drucken grundsätzlich ausgeblendet werden?
Gruß,
Beate
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:39:46
Jean-Pierre
Hallo Beate,
ich hab leider keine Ahnung was VBA betrifft - bin immer noch auf der Suche nach guter Literatur! Tipps werden gerne angenommen :)
In dem Blatt "Para" sind Daten die weiterverarbeitet werden also für Ansichten oder Ausdrucke nicht relevant.
Danke, werde es gleich mal testen!!!
Gruß aus Berlin
Jean-Pierre
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:38:48
Ramses
Hallo Beate
Darf ich dazu folgendes bemerken:
"UsedRange" bezieht sich auf ALLE Zellen in denen Veränderungen vorgenommen wurden bzw. Formate zugewiesen wurden (Hintergrund, Rahmen usw.).
Es bezieht sich somit auch auf Zellen in denen NICHTS steht.
Eine weitere Einschränkung bei deinem Code, wenn die Option "Gesamte Arbeitsmappe drucken" gewählt wurde formatiert dein Code nur die aktuelle Tabelle, alle anderen werden normal ausgedruckt ;-)
Gruss Rainer
Anzeige
Danke für die Info Rainer! o.T.
25.01.2005 21:59:00
Beate Schmitz
o.T.
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:45:33
Jean-Pierre
Hallo Rainer,
ich bekomme folgende Fehlermeldung:
Fehler beim Kompilieren: For ohne Next
Das ist der Code den ich in "Diese Arbeitsmappe" habe:
Option Explicit

Private Sub Workbook_Open()
With Sheets("Gesamt")
.Select
.Range("B25").Select
End With
End Sub


Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim i As Byte
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "Gesamt" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & Range("A65536").End(xlUp).Row
Else
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("A25").End(xlUp).Row
End If
End Sub

Wo ist da der Fehler????
Gruß aus Berlin
Jean-Pierre
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 21:51:29
Ramses
Hallo
ich brauch heute wohl meine Brille, hab in einem anderen Forum auch schon was vergessen :-)
EXCEL sagt dir doch was fehlt, Schleifen hast du schon gesehen bzw. erhalten :-)
Fehlermeldung:
Fehler beim Kompilieren: For ohne Next
'Private Sub' Workbook_BeforePrint(Cancel As Boolean)
Dim i As Byte
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "Gesamt" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & Range("A65536").End(xlUp).Row
Else
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("A25").End(xlUp).Row
End If
Next i
End Sub

Gruss Rainer
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:02:48
Jean-Pierre
Hallo Rainer,
das macht doch nichts...ich kann meine Brille leider nicht absetzen - ist schon angewachsen :))
Ich hab doch keine Ahnung was ne Schleife ist - was eine Schuschleif ist ok.
Brav wie ich bin - aktualisiere ich den Code gleich... :)
Gruß aus Berlin
Jean-Pierre
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:09:19
Jean-Pierre
Hallo Rainer,
erstmal vielen Dank!!! Mit den monatsblättern klappt das ganz toll nur bei dem Blatt "Gesamt" klappt das nicht so ganz?
Liegt es vielleicht daran, dass keine Daten in den Zeilen 1,2,5,6,8 und 21 stehen?
Hier mal das Blatt "Gesamt":

Die Datei https://www.herber.de/bbs/user/16864.xls wurde aus Datenschutzgründen gelöscht

Dann noch etwas: Klicke ich auf Seitenansicht "rödelt" es etwas bis die Ansicht erscheint, woran liegt das denn????
Gruß aus Berlin
Jean-Pierre
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:19:02
Ramses
Hallo
Sorry,... aber ich gehe schon davon aus, dass der Code im Prinzip stimmt, zumindest was den Datenbereich anbelangt.
Bei dir stehen in der Spalte überhaupt keine Daten, das kann nicht funktionieren
Da muss die Zeile so lauten.
Anstelle von
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("A25").End(xlUp).Row
muss/sollte das dann
ActiveSheet.PageSetup.PrintArea = "$B$3:$K" & Range("B25").End(xlUp).Row
Gruss Rainer
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:26:06
Jean-Pierre
Hallo Rainer,
ich will ja nicht nerven aber ich bekomme nur leere Seiten ("Gesamt") angezeigt, was mach ich falsch????
Gruß aus Berlin
Jean-Pierre
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:32:09
Ramses
Hallo
gerade nochmal ausprobiert > Funktioniert korrekt, wobei du anstelle von "K" auch "J" verwenden könntest.
Keine Ahnung. Wenn dein "Gesamt" so aussieht wie das was du geschickt hast, verstehe ich es ehrlich gesagt nicht.
Hast du den Code korrekt eingefügt ?
Gruss Rainer
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:46:48
Jean-Pierre
Hallo Rainer,
sobald ich auf Seitenansicht klicke sehe ich im Blatt Gesamt die Zeile A1:P1 gestrichelt umrandet.
Bei den monatsblättern ist das wie gesagt nicht so - also alles OK!
Die Reihenfolge der Blätter sieht so aus:
Gesamt, Januar, Februar, etc, PARA
Hab das K auch gegen J ersetzt - nix!
Warum sehe ich in der Seitenansicht nur leere weisse Blätter (2 Seiten!)
Gruß aus Berlin
Jean-Pierre
Anzeige
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:47:13
Beate Schmitz
Hallo Jean-Pierre,
Datei anbei zurück; in deiner war ja gar kein Code drin. Hier eingbaut und bei mir geht es jetzt:
https://www.herber.de/bbs/user/16866.xls
Gruß,
Beate
AW: Druckbereich - nicht alle Sheets!
25.01.2005 22:59:42
Jean-Pierre
Hallo Beate,
Danke - aber bei mir habe ich immer noch 2 leere Seiten!
Das da kein Code drin ist - war so gewollt, da ich nicht wusste ob es wichtig ist für Euch WO GENAU etwas drinsteht.
Ich geh jetzt nach Hause und bin wieder in ca. 30-45 Min. Online.
Gruß aus Berlin
Jean-Pierre
AW: Druckbereich - nicht alle Sheets!
25.01.2005 23:24:18
Beate Schmitz
Hallo Jean-Pierre,
ich vermute, du hast Probleme beim Einbau des Codes in deine Originaldatei. Also nur diesen Code ins Codefenster "dieseArbeitsmappe" kopieren.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim i As Byte
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Gesamt" Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$K" & Range("B25").End(xlUp).Row
Else
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & Range("A65536").End(xlUp).Row
End If
Next i
End Sub

Wie man das macht, ist hier im dritten Absatz beschrieben:
http://www.online-excel.de/excel/singsel_vba.php?f=44
Übrigens, um das Makro zu testen, kannst du auch einfach Seitenansicht einsetzen, spart Papier.
Gruß,
Beate
Anzeige
AW: Druckbereich - nicht alle Sheets!
26.01.2005 00:11:30
Jean-Pierre
Hallo Beate,
ich hab es jetzt mal genau nach der Anleitung gemacht.
Aber nichts - ich werd nochmal irre.
Ich würde die Datei ja gerne mal komplett hochladen nur ist diese knapp 930 kb groß :(
Vielleicht kann ich sie ja anders hochladen.
Gruß aus Berlin
Jean-Pierre
AW: Druckbereich - nicht alle Sheets!
26.01.2005 00:53:58
Beate Schmitz
Hallo Jean-Pierre,
pack' sie doch als zip-Datei. Sonst Mail an mich: Beate_Schmitz60atweb.de
Ersetz das at durch @
Gruß,
Beate
AW: Druckbereich - nicht alle Sheets!
26.01.2005 18:25:10
Jean-Pierre
Hallo Beate,
ich hab die Datei an deine eMailadresse gesendet.
Schönen Gruß aus Berlin
Jean-Pierre
Herzlichen Dank an Beate!!!!
26.01.2005 22:30:30
Jean-Pierre
Hallo Beate
herzlichen Dank für Deine Hilfe - jetzt geht es endlich!!!
Liebe Grüße aus Berlin
Jean-Pierre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige