Das Archiv des Excel-Forums

Kopf, Fusszeile - Schnelligkeit

Bild

Betrifft: Kopf, Fusszeile - Schnelligkeit
von: Erich M.

Geschrieben am: 13.10.2003 07:06:28

Hallo zusammen,

habe mir aus der Recherche bzw. dem Forum ein Makro
für den Ausdruck gebastelt, bei dem immer die Kopf-
und Fusszeilen eingestellt werden. Hintergrund ist,
dass durch die Nutzung verschiedener Dateien die
Einstellung immer wieder geändert wird.
Dabei wähle ich vor dem Ausdruck die Vorschau,
damit ich das Layout ggfls. anpassen kann.
Das Makro läuft soweit;
aber die Erstellung der Seitenvorschau dauert
eigentlich sehr (ungewohnt) lange; ist da meine Lösung
nicht optimal?:

Sub Vorschau()
With ActiveSheet.PageSetup
'' Left=Links; Center=Mitte; Right=Rechts
'' Header=Kopfzeile; Footer=Fußzeile
'' Kopfzeile Links
.LeftHeader = ""  'ThisWorkbook.Path & "\" '(nur Phad)
'' Kopfzeile Mitte
.CenterHeader = "Seite &P von" & Chr(13) & "&N Seiten"
'' Kopfzeile Rechts
.RightHeader = "" 'ThisWorkbook.Path & "\" '(nur Phad)
'' Fußzeile Links
.LeftFooter = ""  'ActiveWorkbook.FullName & "\" & ActiveSheet.Name '(Komplette Dateiname einschl. Phad + Register)
'' Fußzeile Mitte
.CenterFooter = ""  'ActiveWorkbook.FullName & "\" & ActiveSheet.Name '(Komplette Dateiname einschl. Phad + Register)
'' Fußzeile Rechts
.RightFooter = ""  'ActiveWorkbook.FullName & "\" & ActiveSheet.Name '(Komplette Dateiname einschl. Phad + Register)
End With
Selection.PrintOut Copies:=1, Preview:=True
End Sub


Besten Dank für eine Hilfe!

mfg
Erich
Bild


Betrifft: AW: Kopf, Fusszeile - Schnelligkeit
von: Hermann
Geschrieben am: 13.10.2003 10:38:22

Hallo Erich,

das habe ich bei meinen Makros auch festgestellt:
"Seite einrichten - Kopf- Fußzeile" dauert sehr lange.

Ich habe das mal beobachtet, als ich das Makro im Einzelschrittmodus (F8) laufen lies.
Die ersten 100 Makro-Befehle liefen im Millisekunden-Bereich ab.
Aber als dann die Verarbeitung an die Makrostelle kam, wo die Seite eingerichtet wird,
konnte man augenscheinlich sehen, dass die Abarbeitung jedes eonzelnen Seiten-Einrichten-Befehls ca. 1/2 Sekunde dauerte.
Allerdings, und das ist eigentlich unverständlich, läuft mein Makro bei einigen Anwendern (auf verschiedenen Rechnern) extrem schnell, als ob die "Bremse" für's Seiten einrichten nicht überall existierte ???

Damit der Anwender nicht wegen Ungeduld das Makro unbeabsichtigt abbricht, gebe ich eine Meldung direkt in die angezeigte EXCEL-Datei (in eine leere Zelle) aus, die ich nachher wieder lösche.
Ich versuche mal den Abschnitt aus dem Makro hier reinzustellen:

' Bildschirmaktualisierung ein
Application.ScreenUpdating = True
'
' Fenster fixieren
Range("A6").Select
ActiveWindow.FreezePanes = True
'
' Statusmeldung ein
Range("A1").Select
ActiveCell.FormulaR1C1 = "Seite einrichten läuft!!!!!!!!!!!!!! bitte warten!"
Selection.Font.ColorIndex = 5
'
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
'
' Seite einrichten Kopf-/ Fußzeile, ...
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$5"
.PrintTitleColumns = ""
.LeftHeader = ""
.CenterHeader = "&""Arial,Fett""&14XXXX-Abzug"
.RightHeader = "Seite &P von &N"
.LeftFooter = "&F (&A)"
.CenterFooter = "Abteilungsbezeichnung"
.RightFooter = "Druckdatum: &D, &T Uhr"
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.984251968503937)
.BottomMargin = Application.InchesToPoints(0.984251968503937)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 300
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 6
End With




Gruß Hermann


Bild


Betrifft: AW: Kopf, Fusszeile - Schnelligkeit
von: Erich M.
Geschrieben am: 13.10.2003 16:47:01

Hallo Hermann,

vielen Dank, das ist eine gute Idee mit den Hinweisen.
Werds mal ausprobieren, hilft mir schon mal weiter!!
(Geht das mit MsgBox auch??)

mfg
Erich


 Bild