Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pagesetup funktioniert nicht und langsam

Pagesetup funktioniert nicht und langsam
12.11.2016 17:34:56
Peter
Hallo Ihr Excelspezialisten,
ich habe mir eine Druckvorschau erstellt. Leider habe ich ein Problem, durch die Footer
ist das ganze extrem langsam.
Wenn ich die Footer herausnehme läuft das Ganze sehr schnell.
Wo liegt bitte der Fehler? Was kann man dagegen machen?
Sub Druckvorschau_2016_11_12()
SpalteL = Range("M65536").End(xlUp).Row      'SpalteL ist der Massstab für das berechnen der  _
letzten beschriebenene Zelle in Spalte K = PLZ da immer ausgefüllt
Sheets("Tabelle1").Select
Makro_Spalten_ausblenden
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintArea = ""    'Druckbereich aufheben
.LeftFooter = ""    'linke Fusszeile löschen
.CenterFooter = ""  'mittlere Fusszeile löschen
.PrintTitleRows = "$1:$1"
.PrintArea = Range("A1:Y" & SpalteL).Address
.LeftFooter = "&""Arial,Fett""&14" & "aktuelles Datum: &D"
.CenterFooter = "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D3") & " Anzahl:   " &  _
Worksheets("Hilfstabelle").Range("F3") & Chr(10) & "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D4") & " Anzahl:   " & Worksheets("Hilfstabelle").Range("F4") & Chr(10) & "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D5") & " Anzahl:   " & Worksheets("Hilfstabelle").Range("F5")
.RightFooter = "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D6") & " Anzahl:   " &  _
Worksheets("Hilfstabelle").Range("F6") & Chr(10) & "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D7") & " Anzahl:   " & Worksheets("Hilfstabelle").Range("F7") & Chr(10) & "&""Arial,Fett""&14" & Worksheets("Hilfstabelle").Range("D8") & " Anzahl:   " & Worksheets("Hilfstabelle").Range("F8")
Application.PrintCommunication = True
ActiveSheet.PrintPreview
Makro_alle_Spalten_einblenden
End With
ActiveSheet.Range("A1").Select
End Sub

Besten Dank für Eure Hilfe.
Gruss Peter
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pagesetup funktioniert nicht und langsam
13.11.2016 10:13:55
fcs
Hallo Peter,
du hast einen logischen Fehler im Makro:
Tabelle muss selektiert werden bevor die letzte Zeile im Blatt berechnet wird.
Dann berechnest du die Letzte Zeile in Spalte M und nicht wie in denem Kommentar angegeben in Spalte K.
Die Zeile
    Application.PrintCommunication = False

führt nach meiner Erfahrung zu Problemen, wenn man in dem gleichen Makro auch direkt die Seitenvorschau oder den Ausdruck startet.
Nach Microsoft-Auskunft in der Hilfe soll so der PageSetup beschleunigt werden, aber ich hab da schon öfters nur Müll in Druck/Vorschau erhalten.
Diese Zeile und die entsprechend Zeile mit "= True" einfach weglassen.
Außerdem musst du aufpassen, dass die Gesamtzeichenzahl für eines der Footer-Elemente nicht 255 Zeichen überschreitet. Das ist meines Wissens eine Excel-Grenze.
Gruß
Franz
Sub Druckvorschau_2016_11_12()
Dim wksH As Worksheet
Set wksH = Worksheets("Hilfstabelle")
Sheets("Tabelle1").Select 'Tabelle muss selektiert werden bevor letzte Zeile berechnet wird
'SpalteL ist der Massstab für das berechnen der letzten beschriebenene Zelle in _
Spalte K = PLZ da immer ausgefüllt   - warum dann in nächster Zeile "M65536"  ?
SpalteL = Range("M65536").End(xlUp).Row
Makro_Spalten_ausblenden
'Application.PrintCommunication = False     'Problemzeile unter Excel 2010
Application.ScreenUpdating = False
With ActiveSheet.PageSetup
.PrintArea = ""    'Druckbereich aufheben
.LeftFooter = ""    'linke Fusszeile löschen
.CenterFooter = ""  'mittlere Fusszeile löschen
.PrintTitleRows = "$1:$1"
.PrintArea = Range("A1:Y" & SpalteL).Address
.LeftFooter = "&""Arial,Fett""&14" & "aktuelles Datum: &D"
.CenterFooter = _
"&""Arial,Fett""&14" & wksH.Range("D3") & " Anzahl:   " & wksH.Range("F3") & Chr(10) _
& "&""Arial,Fett""&14" & wksH.Range("D4") & " Anzahl:   " & wksH.Range("F4") & Chr(10)  _
_
& "&""Arial,Fett""&14" & wksH.Range("D5") & " Anzahl:   " & wksH.Range("F5")
.RightFooter = _
"&""Arial,Fett""&14" & wksH.Range("D6") & " Anzahl:   " & wksH.Range("F6") & Chr(10) _
& "&""Arial,Fett""&14" & wksH.Range("D7") & " Anzahl:   " & wksH.Range("F7") & Chr(10)  _
_
& "&""Arial,Fett""&14" & wksH.Range("D8") & " Anzahl:   " & wksH.Range("F8")
'Application.PrintCommunication = True      'Problemzeile unter Excel 2010
End With
ActiveSheet.PrintPreview
Makro_alle_Spalten_einblenden
Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub

Anzeige
AW: Pagesetup funktioniert nicht und langsam
13.11.2016 12:45:29
Peter
Hallo Franz,
besten Dank für Deine Hilfe.
Ich habe das Makro ausprobiert und festgestellt, dass eine Arbeit mit Header und Footer zumindest
seit Einführung Excel 2010 keinen Sinn mehr macht. Das Programm wird extrem langsam.
Ich werde mir für meine Bedürfnisse in diesem Programm eine andere Lösung erstellen.
Ich wünsche Dir noch ein schönes Wochenende.
Gruss Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige