Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 70835
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T19:47:36+00:00 2026-05-10T19:47:36+00:00

The print functionality of Excel (using VBA) is extremely slow. I’m hoping someone has

  • 0

The print functionality of Excel (using VBA) is extremely slow. I’m hoping someone has a way of speeding the printing up (without using the Excel 4 Macro trick). Here’s how I do it now:

Application.ScreenUpdating = False  With ActiveSheet.PageSetup    -various setup statements which I've already minimized-  End With    ActiveSheet.PrintOut  Application.ScreenUpdating = True 
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T19:47:36+00:00Added an answer on May 10, 2026 at 7:47 pm

    Yes, the PageSetup properties are very slow when you set them.

    You have already set Application.ScreenUpdating = False, which is good, but an equally (or more) important step in this case is to set Application.Calculation = xlCalculationManual. (It is best if you save these settings and then restore them to the original at the end.)

    Additionally, the property get for each PageSetup property is very fast, while it is only the property set that is so slow. Therefore, you should test the new property setting to make sure it isn’t already the same as the existing property value in order to prevent an unnecessary (and expensive) call.

    With all this in mind, you should be able to use code that looks something like the following:

    Dim origScreenUpdating As Boolean origScreenUpdating = Application.ScreenUpdating Application.ScreenUpdating = False  Dim origCalcMode As xlCalculation origCalcMode =  Application.Calculation Application.Calculation = xlCalculationManual  With ActiveSheet.PageSetup     If .PrintHeadings <> False Then .PrintHeadings = False     If .PrintGridlines <> False Then .PrintGridlines = False     If .PrintComments <> xlPrintNoComments Then .PrintComments = xlPrintNoComments     ' Etc... End With  Application.ScreenUpdating = origScreenUpdating Application.Calculation = origCalcMode 

    Edit: A couple of updates:

    1. For Excel 2010 and above you can make use of the ‘Application.PrintCommunication’ property, while for Excel 2007 and below, you can make use of ‘ExecuteExcel4Macro’. For more details, see Migrating Excel 4 Macros to VBA.

    2. For Excel 2007 and below, another interesting trick is to temporarily assign the printer driver to the ‘Microsoft XPS Document Writer’ and then set it back. Printing speed can improve by 3x. See: Slow Excel PageSetup Methods.

    Hope this helps…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So basically, the print functionality does not work by default in Joomla but I've
Print all 12 verses of the popular holiday song . By 12 verses I
Consider: print $foo, AAAAAAAA, $foo, BBBBBBBB; Let's say I want to use this code
I want to print the first 10000 prime numbers. Can anyone give me the
When I try to print a string in a Windows console, sometimes I get
I need to print out data into a pre-printed A6 form (1/4 the size
Can i print out a url /admin/manage/products/add of a certain view in a template?
How can I elegantly print the date in RFC822 format in Perl?
When I print "\[\e[34m\]sometext" I get some text in blue, but can I specify
I find print_r in PHP extremely useful, but wonder if there is anything remotely

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.