Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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 variabel einstellen

Druckbereich variabel einstellen
Markus
Hallo zusammen,
mittels Hilfe aus dem Forum ist dieses Makro entstanden. In dem Reiter ist ein Jahreskalender enthalten. Der Druckbereich sind 2 Monate auf einem Blatt Papier.

Private Sub Druckversion_Seitenwechsel_nach_zwei_Monaten()
Dim i As Long, iCount As Integer
Dim Wert1 As Integer
' Wert1 = InputBox("Bitte Spalten-Nr. eingeben!", "Spalten-Nr.", "1")
Wert1 = 2
Sheets(1).Select
Application.ScreenUpdating = False
ActiveWindow.View = xlPageBreakPreview
With ActiveSheet
.ResetAllPageBreaks
For i = 3 To .Cells(.Rows.Count, Wert1).End(xlUp).Row
If IsDate(.Cells(i + 1, Wert1)) And IsDate(.Cells(i, Wert1)) Then
If Month(.Cells(i + 1, Wert1))  Month(.Cells(i, Wert1)) Then
iCount = iCount + 1
If iCount = 2 Then
.HPageBreaks.Add .Cells(i + 1, Wert1)
iCount = 0
End If
End If
End If
Next i
End With
ActiveWindow.View = xlNormalView
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = "$A:$Y"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.196850393700787)
.BottomMargin = Application.InchesToPoints(0.196850393700787)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 65
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.ScrollRow = 2
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "Druckbereich eingestellt - Sie können drucken!"
End Sub

Nun würde ich gerne den Printerbeich von A bis zur letztgefüllten Spalte (maximal Y) eingrenzen. In den Zellen befinden sich Formeln. Die jeweilige Spalte soll nur dann in den Printbereich, wenn etwas Formeln enthalten ist.
Weiterhin sollte der Zoombereich ebenfalls variabel sein.
Wer kann helfen?
Viele Grüße
Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Druckbereich variabel einstellen
03.10.2011 16:10:23
Tino
Hallo,
kannst mal diesen Code versuchen.

Sub PrintBereich()
Dim rngFind As Range, n&
n = 24 'Spalte Y
With Sheets(1)
For n = n To 1 Step -1
Set rngFind = .Columns(n).Find(What:="*", LookIn:=xlValues, LookAt:=xlPart)
If Not rngFind Is Nothing Then Exit For
If n = 1 Then Set rngFind = .Columns(1)
Next n
.PageSetup.PrintArea = .Range("A1", rngFind).EntireColumn.Address
End With
End Sub
Was meinst Du mit "Weiterhin sollte der Zoombereich ebenfalls variabel sein." ?
z. Bsp. mit

With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1 'Anzahl Seiten breit
.FitToPagesTall = 1 'Anzahl Seiten hoch
end with
Kannst Du den Druckbereich auf eine Seite festlegen.
Gruß Tino
Anzeige
Klappt, danke Tino!
03.10.2011 18:27:40
Markus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige