Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
536to540
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
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Druckbereich via VBA festlegen und verändern

Druckbereich via VBA festlegen und verändern
27.12.2004 16:29:56
00011011
Moin...
...in einer Exceltabelle kann der Anwender via VBA's die Länge und das Format der Tabelle verändern und anpassen. Da die Länge des Tabelle zwischen zwei und sechs Seiten variiert, ist es sehr schwierig, eine Voreinstellung zu finden, so dass die Tabelle optimal ausgedruckt werden kann.
Ich habe bereits versucht, dieses Problem mit folgenden Befehlszeilen zu beheben:
Set ActiveSheet.HPageBreaks(2).Location = Range("A110")
,jedoch sind auch hier die vielzahl der Möglichkeiten zu groß. Gibt es eine Möglichkeit, dem PC mitzuteilen, dass er z.B. 30 Zeilen auf eine Seite drucken soll (nur eingeblendete Zeilen)?
Über Eure Vorschläge und Hilfe bin ich dankbar.
Gruß aus Köln
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckbereich via VBA festlegen und verändern
27.12.2004 16:46:02
Josef
Hallo Christian!
Probier mal:

Sub UmbruchDynamisch()
Dim lastRow As Long
Dim lRow As Long, n As Long
lastRow = Range("A65536").End(xlUp).Row
On Error Resume Next
ActiveSheet.Cells.PageBreak = xlPageBreakNone
On Error GoTo 0
For lRow = 1 To lastRow
If Rows(lRow).Hidden = False Then n = n + 1
If n Mod 30 = 0 Then ActiveSheet.HPageBreaks.Add Cells(lRow + 1, 1)
Next
End Sub

Gruß Sepp
Sorry. Zu lange gebraucht :-) o.T.
Ramses
...
!!! !!! Vielen Dank Euch Beiden !!! !!! o.T.
27.12.2004 17:17:21
00011011
Daaaaaaaaaanke.
AW: Druckbereich via VBA festlegen und verändern
Ramses
Hallo
mal auf die unkonventionelle Art :-)
Wenn du sagst, 30 Zeilen pro Seite genügen dir, dann könntest du mit einer Schleife die sichtbaren Zeilen zählen.

Sub Set_PageBreaks()

Sub Set_PageBreaks()
Dim i As Long, n As Long
Dim rowCounter As Integer
rowCounter = 0
n = 1
ActiveSheet.ResetAllPageBreaks
For i = 1 To Cells(65536, 1).End(xlUp).Row
If Rows(i).Hidden = False Then
rowCounter = rowCounter + 1
End If
If rowCounter = 30 Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=Cells(i + 1, 1)
rowCounter = 0
End If
Next i
End Sub

Das ganze dann natürlich in das Before_Print Ereignis
Gruss Rainer
Dim i as long, n as long
dim rowCounter as integer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige