Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

Genau 10 Seiten mit 52 Zeilen drucken

Genau 10 Seiten mit 52 Zeilen drucken
Klaus
https://www.herber.de/bbs/user/63555.xls
Hallo Forum,
bin am verzweifeln. Ich hatte die Frage schon vor ein paar Tagen gestellt und auch
eine Antwort erhalten, es will aber einfach nicht klappen:
Es geht "nur" darum, einen bestimmten Bereich auf genau 10 Seiten A4 zu drucken.
Der Bereich umfasst 520 Zeilen, also 52 Zeilen pro Seite.
Ich habe ein Druckmakro geschrieben, dass wunderbar funktioniert – aber nur unter dem Mac.
Sobald das Dokument unter Windows geöffnet wird bringt er mir die Druckseiten durcheinander.
Warum nur?
Bin für jeden Hinweis dankbar.
Gruß
Klaus
Option Explicit
'Anzahl Zeilen pro Druckseite
Public Const intSEITE As Integer = 52
'Erste Zeile Printbereich
Public Const intZEILE As Integer = 6
'Bis zu welcher Spalte wird gedruckt
Public Const strSPALTE As String = "P"
Sub Drucken()
Dim lToRow As Long
Dim PrintArea As Range
Dim maxPage As Integer
With ActiveSheet
'Letzte Zeile festlegen
lToRow = .Cells.Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
'Anzahl Druckblätter ermitteln (= letzte Seitenzahl)
maxPage = WorksheetFunction.Max(Range("J" & intZEILE & ":" & "J" & lToRow))
'Printbereich festlegen = (B+1.Druckzeile) bis (letzte Zeile / letzte Spalte)
Set PrintArea = ActiveSheet.Range("B" & intZEILE & ":" & strSPALTE & lToRow)
ActiveSheet.PageSetup.PrintArea = PrintArea.Address
End With
With ActiveSheet.PageSetup
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.393700787401575)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.CenterHorizontally = True
.CenterVertically = True
.Order = xlDownThenOver
.FitToPagesWide = 1
'Unterteilen des Printbereichs in Anzahl Druckblätter:
.FitToPagesTall = maxPage
End With
ActiveSheet.PrintPreview
'Drucklinien zurücksetzen
ActiveSheet.ResetAllPageBreaks
End Sub

AW: Genau 10 Seiten mit 52 Zeilen drucken
01.08.2009 11:41:31
Klaus
Hmmm ...
entweder ist die Frage zu uninteressant oder es weis wirklich niemand eine Antwort darauf(?)
Anders herum gefragt:
Gibt es denn jemanden bei dem das Makro (Mappe beigefügt) unter Windows das
gewünschte Ergebnis erzielt?
bzw. wenn nicht, hast Du eine Idee warum nicht?
Würde ja schon helfen.
Liebe Grüße
Klaus
AW: Genau 10 Seiten mit 52 Zeilen drucken
01.08.2009 12:20:28
Dieter
Hi,
alles exakt so, wie du es willst.
Das Ganze ist aber vom verwendeten Drucker(treiber) abhängig.
Die Genauigkeit beim Druck war in Excel noch nie berauschend.
mfg Dieter
AW: Genau 10 Seiten mit 52 Zeilen drucken
01.08.2009 12:34:21
Klaus
Hallo Dieter,
erst einmal Danke für Dein testen!
Was ich aber dann nicht ganz verstehe:
wenn ich z.B. die ersten 52 Zeilen selektiere und dann manuell mit FitToPage
auf eine Druckseite zwinge, warum lässt sich dieser Vorgang dann nicht
auf die nachfolgenden Seiten anwenden? Gibt's da einen Trick?
Evtl. die Drucklinien vorher setzen oder so?
Deine Antwort bedeutet ja im Klartext, dass ich sonst keine Möglichkeit habe
ein Druckmakro zu schreiben, dass in jedem Fall meine Seitenunterteilung ausdruckt ...
Seufz. Sehr unbefriedigend das Ganze.
Trotzdem Danke nochmals.
Gruß
Klaus
Anzeige
AW: Genau 10 Seiten mit 52 Zeilen drucken
01.08.2009 19:07:02
Daniel
Hi
bei FitToPage ignoriert Excel die von Hand eingefügten Seitenumbrüche.
du müsstest also von Hand (bzw per Makro) einen Zeilenumbruch einfügen und dann bei bedarf den Zoom-Faktor so einstellen, daß es auch nur 52 Seiten gibt.
die Zeilenhöhen müssen allerdings passen, so daß immer die 52 Zeilen auch auf eine Seite passen.
Option Explicit
'Anzahl Zeilen pro Druckseite
Public Const intSEITE  As Integer = 52
'Erste Zeile Printbereich
Public Const intZEILE  As Integer = 6
'Bis zu welcher Spalte wird gedruckt
Public Const strSPALTE  As String = "P"
Sub Drucken()
Dim lToRow As Long
Dim PrintArea As Range
Dim maxPage As Integer
Dim i As Long
With ActiveSheet
'Letzte Zeile festlegen
lToRow = .Cells.Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
'Anzahl der Druckblätter ermitteln (= letzte Seitenzahl)
maxPage = WorksheetFunction.Max(Range("J" & intZEILE & ":" & "J" & lToRow))
'Printbereich festlegen = (B+1.Druckzeile) bis (letzte Zeile / letzte Spalte)
Set PrintArea = ActiveSheet.Range("B" & intZEILE & ":" & strSPALTE & lToRow)
ActiveSheet.PageSetup.PrintArea = PrintArea.Address
'Zeilenumbrüche einfügen
ActiveSheet.ResetAllPageBreaks
For i = intZEILE To lToRow Step intSEITE
.HPageBreaks.Add before:=.Cells(i, 1)
Next
End With
With ActiveSheet.PageSetup
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.393700787401575)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.CenterHorizontally = True
.CenterVertically = True
.Order = xlDownThenOver
End With
ActiveSheet.PrintPreview
'Drucklinien zurücksetzen
ActiveSheet.ResetAllPageBreaks
End Sub
Gruß, Daniel
Anzeige
AW: Genau 10 Seiten mit 52 Zeilen drucken
03.08.2009 09:54:08
Klaus
Hallo Daniel,
danke für Deinen Beitrag. Klappt aber leider auch nicht.
Ich hatte auch schon ähnlich experimentiert und in Spalte A "Umbruch" eingefügt
und danach gesucht:
.ResetAllPageBreaks
For iRow = .Cells(.Rows.Count, 1).End(xlUp).Row To 1 Step -1
If .Cells(iRow, 1).Value = "Umbruch" Then
.Rows(iRow + 1).PageBreak = xlPageBreakManual
End If
Next iRow
Klappt aber auch nicht.
Selbst das stufenlose Ausdrucken von 95 bis 99 % ergibt nicht das Ergebnis.
Es wird entweder eine Zeile mehr oder eine weniger gedruckt.
Der einzige Workaround, den ich gefunden habe, ist: jeweils alle anderen Zeilen
ausblenden und dann immer eine Seite drucken.
Ich probier momentan, das mit meinen bescheidenen VBA-Kenntnissen
in eine Schleife zu packen ...
Gruß
Klaus
Anzeige
AW: Genau 10 Seiten mit 52 Zeilen drucken
03.08.2009 16:14:32
Daniel
HI
das mit dem einfügen des Seitenumbruchs funktioniert normalerweise schon, nur darfts du dann kein FitToPage verwenden, daß muss deaktiviert und eine feste Zoomstufe eingestellt sein.
Gruß, Daniel
AW: Genau 10 Seiten mit 52 Zeilen drucken
03.08.2009 16:59:26
Klaus
Hallo Daniel,
auch ohne FitToPage + mit fester Zoomstufe läufts leider nicht. Jedenfalls nicht
zwingend bei jeder Windows-/Excel-Version. Wie gesagt, bei mir unter dem Mac
läuft es, bei Dir und Dieter auch. Aber unter meiner Mac-Windows-Emulation
nicht und bei z.B. meinem Bruder (Windows PC) auch nicht.
Ich hab mich jetzt damit abgefunden, dass es einige wenige Konstellationen
zu geben scheint, die Probleme bereiten …
Gruß, Klaus
Anzeige
AW: Genau 10 Seiten mit 52 Zeilen drucken
03.08.2009 19:12:23
Daniel
Hi
sorry, wusste nicht daß es Versionsproblem ist, aber von dir gabs ja auch keinen Hinweis darauf ("alle Versionen" ?)
aus meiner Sicht ist das Problem gelöst, da ich deine PC-Konfiguration nicht habe, kann ich da sowieso nicht weiterhelfen
Gruß, Daneil

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige