Loading
ExcelRibbon.Tips.Net ExcelTips (Ribbon Interface)

Setting the Calculation Default

Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Setting the Calculation Default.

Durward wrote concerning a problem he was having with calculation settings in his Excel. He indicated that according to all he had read, the calculation setting for Excel (Manual or Automatic) defaults to Automatic. Yet somehow, when Durward opens a new workbook, the calculation setting is set to Manual. This happens on his work system as well as his home system. He wonders if there a way to reset the calculation setting back to Automatic.

Testing has shown that the calculation setting is set to Automatic by default. It will only be set to Manual if (1) you have changed the default workbook to one that has the calculation mode set to Manual; (2) if there is some sort of AutoOpen macro that sets the calculation mode; (3) if you have some automatically loading workbooks (XLSX or XLTX, including the Personal workbook) that have calculation set to Manual; or (4) if you start Excel by double-clicking, in Windows, on a workbook that has calculation set to Manual.

Note, especially, conditions 3 and 4. Excel may very well be starting with the calculation mode set to Automatic, but it is overridden by the setting within the file that is first opened. If that workbook has calculation mode set to Manual, then Excel presumes you want Manual as your default calculation mode for that session. The only solution to this problem is to open those workbooks, change the calculation mode in them, save them, and restart Excel.

The other option is to add an AutoOpen macro to any of your workbooks that absolutely must be opened with calculation mode set to Automatic, no matter what. This can be a simple macro, such as the following:

Private Sub Workbook_Open()
    Application.Calculation = xlCalculationAutomatic
End Sub

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9310) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Setting the Calculation Default.

Related Tips:

Your Data, Your Way! Want the greatest control possible over how your data appears on the page? Excel's custom formats can provide that control, and ExcelTips: Custom Formats can unlock the secrets to creating your own custom formats. Check out ExcelTips: Custom Formats today!

 

Comments for this tip:

Bob D    21 Aug 2014, 20:21
Jason,

Try -

Sub Auto_Open() 0r Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
End sub

or

Sub Auto_Close() or Sub Workbook_Close()
Application.Calculation = xlCalculationAutomatic
End Sub

Place in a VBA Module.

Having this code in the Personal Workbook will only effect that workbook. To have this operate universally you will either need to point each workbook on open to the Personal WB Code or just copy the code to each workbook as you are attending to updates.

The default calc status for workbooks and worksheets is Automatic so you really only need to apply the code where the Manual condition has at some stage been set. It is recommended also that you set the Manual condition at the commencement of the salient routine and then reset to Automatic at the end.

Setting the manual condition as a universal condition also can cause misleading results to the viewer as data entry will not generate change in reported results until a calc operation is performed.

Apologies for longwinded response.
Jason Lynch    20 Aug 2014, 17:35
I don't know why, but this is not working for me. I've created a personal.xlsb file and copy/pasted the code right from here into VBA, but when I save a file with the setting to manual, it reopens set to manual. I have Excel 2013 at home and 2010 at work. Both have the same results. Ultimately, I want EVERY excel file I open to be set to auto calculation. Thanks in advance for any help.
Bob D    29 Jan 2014, 18:24
Alternative:

Excel Options > Formulas > Workbook Calculation

Then select the desired option.
Chuck Trese    29 Jan 2014, 09:02
There is also a calculation setting for each individual sheet in a workbook. For example, you can say...
Sheet1.EnableCalculation=True (or False)
This could also be a source of problems.
Andreas H    29 Jan 2014, 07:33
Hi

This is just as setting it to automatic:

Private Sub Workbook_Open()
    Application.Calculation = xlCalculationManual
End Sub

Very handy indeed!

You can also reset this when closing:

Private Sub Workbook_close()
    Application.Calculation = xlCalculationAutomatic
End Sub
Geoff    20 Mar 2012, 19:19
How do you set the file to default to maual calculation when you re-open it? I have large files with filters that I want to be in manual mode. I save them that way, but everytime I open them, they are automatic. If I forget to rest the setting before filtering and deleting rows, I might as well go out for lunch. It didn't work that way in Excel 2003.

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 3+4? (To prevent automated submissions and spam.)
 
          Commenting Terms
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2013)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2013)

Our Products

Premium Newsletters

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2014 Sharon Parq Associates, Inc.