Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 45
Default Slow PageSetup macro

I need to loop through about 20 worksheets in one file and format them all
the same way. I basically just turned on the macro recorder to record the
steps it takes to format one sheet. My macro works great except that is
spends a long time on the PageSetup section.

Does anyone have any idea why the code below takes so long to run or a
suggestion for a better way to accomplish the same thing?
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
.CenterHeader = "&A"
.CenterFooter = "Page &P"
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.25)
.PrintGridlines = True
.CenterHorizontally = True
.Orientation = xlPortrait
.Zoom = 100
End With

Thank you for your help,
Judy

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Slow PageSetup macro

Are there any settings that you don't have to change?

If yes, then remove them (or comment them) in your code.



Judy Ward wrote:

I need to loop through about 20 worksheets in one file and format them all
the same way. I basically just turned on the macro recorder to record the
steps it takes to format one sheet. My macro works great except that is
spends a long time on the PageSetup section.

Does anyone have any idea why the code below takes so long to run or a
suggestion for a better way to accomplish the same thing?
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
.CenterHeader = "&A"
.CenterFooter = "Page &P"
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.25)
.PrintGridlines = True
.CenterHorizontally = True
.Orientation = xlPortrait
.Zoom = 100
End With

Thank you for your help,
Judy


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,355
Default Slow PageSetup macro

I wouldn't activate them. Assuming you want to do this on all sheets in the
workbook, do this

Dim myWB as Excel.workbook
Dim myWS as Excel.Worksheet

Set myWB = ThisWorkbook

for each myWS in myWB.Worksheets

With myws.PageSetup
..PrintTitleRows = "$1:$1"
..PrintTitleColumns = ""
..CenterHeader = "&A"
..CenterFooter = "Page &P"
..LeftMargin = Application.InchesToPoints(0.25)
..RightMargin = Application.InchesToPoints(0.25)
..TopMargin = Application.InchesToPoints(0.5)
..BottomMargin = Application.InchesToPoints(0.5)
..HeaderMargin = Application.InchesToPoints(0.25)
..FooterMargin = Application.InchesToPoints(0.25)
..PrintGridlines = True
..CenterHorizontally = True
..Orientation = xlPortrait
..Zoom = 100
End With

next myWS

I'm not sure if there are things that can be done globally for the other
things. I don't do a lot of work in headers and footers.

HTH,
Barb Reinhardt
"Judy Ward" wrote:

I need to loop through about 20 worksheets in one file and format them all
the same way. I basically just turned on the macro recorder to record the
steps it takes to format one sheet. My macro works great except that is
spends a long time on the PageSetup section.

Does anyone have any idea why the code below takes so long to run or a
suggestion for a better way to accomplish the same thing?
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
.CenterHeader = "&A"
.CenterFooter = "Page &P"
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.25)
.PrintGridlines = True
.CenterHorizontally = True
.Orientation = xlPortrait
.Zoom = 100
End With

Thank you for your help,
Judy

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,355
Default Slow PageSetup macro

You may want to just calculate this once outside of the loop

myVal25 = Application.InchesToPoints(0.25)
myVal50 = Application.InchesToPoints(0.50)

And do this

..leftmargin = myVal25

HTH,
Barb Reinhardt

"Judy Ward" wrote:

I need to loop through about 20 worksheets in one file and format them all
the same way. I basically just turned on the macro recorder to record the
steps it takes to format one sheet. My macro works great except that is
spends a long time on the PageSetup section.

Does anyone have any idea why the code below takes so long to run or a
suggestion for a better way to accomplish the same thing?
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
.CenterHeader = "&A"
.CenterFooter = "Page &P"
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.25)
.PrintGridlines = True
.CenterHorizontally = True
.Orientation = xlPortrait
.Zoom = 100
End With

Thank you for your help,
Judy

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
PageSetup is very slow Howard Kaikow Excel Programming 1 June 26th 08 03:46 AM
PageSetup is very slow Howard Kaikow Excel Programming 2 May 17th 08 05:57 PM
Why is this PageSetup Macro So Slow? [email protected] Excel Discussion (Misc queries) 6 July 19th 05 09:28 PM
PageSetup is slow Christof DB Excel Programming 4 December 5th 03 04:09 PM
PageSetup slow Oliver Chiu Excel Programming 1 July 10th 03 02:06 PM


All times are GMT +1. The time now is 12:59 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"