Anzeige
Archiv - Navigation
1124to1128
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

Druckbereich festlegen

Druckbereich festlegen
bernie
Hallo Provies,
Ich habe in einer Tabelle C1-O248 als Druckbereich definiert und diese unterteilt
Sub Druckbereich()
'Druckbereiche aufheben
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.PrintTitleRows = "$3:$8"
.PrintTitleColumns = ""
End With
'Druckbereich festlegen
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = "- &P -"
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.078740157480315)
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.393700787401575)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 95
.PrintArea = "$C$1:$O$68,$C$69:$O$134,$C$135:$O$201,$C$202:$O$248"
.PrintErrors = xlPrintErrorsDisplayed
End With
End Sub

Nur das funktioniert so leider nicht.
Hat jemand eine Idee, wie ich den Druckbereich auch einer Seite so unterteilen kann, dass er auch beim erneuten öffnen der Tabelle so bleibt?
Gehe ich nämlich auf Seitenansicht bekomme ich nach erneutem Öffnen der Tabelle in der Seitenansicht C1-O74 angezeigt, anstatt c1-O68.
Vielleicht kann mir da jemand helfen.
Bernie

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

Betreff
Benutzer
Anzeige
AW: Druckbereich festlegen
20.12.2009 10:29:06
Nepumuk
Hallo Bernie,
ruf doch das Makro zum festlegen des Druckbereiches einfach im Workbook_BeforePrint - Ereignis auf. Das reagiert sowohl auf drucken wie auf anzeigen der Seitenansicht. Wenn sich das Festlegen nur auf eine Tabelle bezieht, musst du natürlich eine Abfrage einbauen, damit nicht die anderen Blätter auch so ausgedruckt werden. Außerdem würde ich noch eine Abfrage einbauen, ob die Prozedur schon mal gelaufen ist, um zu vermeiden, dass das ganze mehrfach läuft. Druckbereich festlegen ist nicht gerade sehr schnell und wir wollen doch den User nicht ärgern indem er lange warten muss. Beispiel:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Static sblnProc_Run As Boolean
    'Tabelle1 ist der Objektname (im Projektexplorer links)
    If ActiveSheet Is Tabelle1 Then
        If Not sblnProc_Run Then Call Druckbereich
        sblnProc_Run = True
    End If
End Sub

Vorweihnachtliche Grüße
Nepumuk
Anzeige
AW: Druckbereich festlegen
23.12.2009 11:06:16
bernie
Hallo Nepumuk,
Danke für Deine Hilfe. Leider komme ich damit als VBA-Anfänger gar nicht klar.
Wenn Du Zeit und Lust hast, könntest Du mir den Weg zeigen?
Ich habe 12 Arbeitsblätter (Monate) und möchte die für den Ausdruck so aufbereiten, dass der Druckbereich immer
.PrintArea = "$C$1:$O$68,$C$69:$O$134,$C$135:$O$201,$C$202:$O$248"
ist.
Viele Grüsse und vorab ein schönes Fest
Bernie
AW: Druckbereich festlegen
23.12.2009 20:30:08
Tino
Hallo,
versuche es mal mit diesen Code, den kannst Du einem Butten zuweisen.
Sub PrintBereiche()
Dim meArSheets, i%

'hier Deine Tabellen entsprechen dem Muster einbauen. 
meArSheets = Array( _
"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")


For i = Lbound(meArSheets) To Ubound(meArSheets)
    ThisWorkbook.Sheets(meArSheets(i)).PageSetup.PrintArea = _
    "$C$1:$O$68,$C$69:$O$134,$C$135:$O$201,$C$202:$O$248"
Next i

End Sub
Gruß Tino
Anzeige
AW: Druckbereich festlegen
24.12.2009 11:53:25
bernie
Hallo Tino,
leider funktioniert das auch nur bedingt.
Ich habe zwar in einigen Tabellen jetzt korrekt die Druckbereich, aber nicht bei allen.
Ist mir ein Rätsel.
Habe zwar schon probiert, zunächt alle Druckbereiche aufzuheben und dann neu aufzubauen - Ergebnis wie gehabt.
Ich habe das ganze in Auto_Open() integriert - läuft bis auf den Druckbereich gut.
Trotzdem ein frohes Fest und vielen Dank für Deine Hilfe
Bernie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige