Excel Stops Recalculating

Written by Allen Wyatt (last updated January 18, 2025)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Excel in Microsoft 365


6

Vernon has been using Excel for quite some time. He noticed that one of his often-used workbooks recently stopped recalculating. When he checks if calculation has been set to manual (Excel Options), it has been. Vernon hasn't purposely done this, however, so he wonders if there is some shortcut key he's hitting, by mistake, that sets calculation to manual.

It is doubtful that a shortcut key is being hit by mistake because there is no simple shortcut key to control calculation. There is a way to do it with the keyboard by pressing Alt+M+X+M, but that sequence is obscure enough to not be pressed by mistake.

It is more likely that the calculation mode is being set by the sequence in which workbooks are being opened on Vernon's system. Believe it or not, Excel's calculation mode is controlled by the workbook that is first opened in your session with Excel. This is described in this ExcelTip:

https://tips.net/T9310

Basically, if Vernon starts Excel by opening a workbook that was last saved with calculation mode set to manual, then every workbook Vernon opens during the rest of that session will automatically have the calculation mode set to manual. Save those workbooks, and now you'll have them set to open in manual calculation if they are the first opened in your next session of Excel. This behavior is described in this page by Microsoft:

https://learn.microsoft.com/en-us/office/troubleshoot/excel/current-mode-of-calculation

To complicate matters even more, if your Personal workbook (assuming you have one on your system) is saved with the calculation mode set to manual, then every time you start Excel directly—without opening a workbook by double-clicking on it—then your entire session in Excel will be in manual recalculation mode.

The solution is to (1) make sure that your Personal workbook is set to automatic recalculation and saved, and (2) make sure that any workbooks you might open directly by double-clicking on them are set to automatic recalculation and saved.

This becomes particularly important if you work with workbooks that others in your organization send to you via e-mail or that you access on a shared network drive. If the other person saved that workbook in manual calculation mode, and you start Excel by double-clicking on that workbook, then you will be using manual calculation mode for the rest of your Excel session.

There is, of course, also the possibility that a macro you are using is setting the calculation mode to manual. If that is the case, then the macro needs to be modified to not change the setting.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (5916) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Excel in Microsoft 365.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Creating Custom Labels

There is a whole passel of labels pre-defined in Word. You are not limited to this passel, however; Word allows you to ...

Discover More

Specifying a Paper Tray in a Macro

If you are using a macro to create your printed Excel output, you may need a way to specify that paper should come from a ...

Discover More

Losing Formatting

When you save a workbook, you expect Excel to remember the formatting you applied in the worksheets in that workbook. If ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (ribbon)

Tab Key Won't Move from Cell to Cell in Locked Worksheet

Normally the Tab key can be used to move from one cell to another in Excel. If this cell movement doesn't work for you, ...

Discover More

Enabling Circular References by Default

Some formulas require the use of circular references in order to determine a result. If you want to make sure that ...

Discover More

Turning Off Error Checking

A little green triangle in the corner of a cell means that Excel thinks there is an error with the cell contents. If ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is three more than 2?

2025-01-22 11:49:46

J. Woolley

The Tip says, "...if your Personal workbook...is saved with the calculation mode set to manual, then every time you start Excel directly...your entire session in Excel will be in manual recalculation mode." I believe this applies only if you create a new workbook (e.g., click New in Backstage) before opening an existing workbook. Otherwise, the existing workbook's calculation mode will apply. This can be tested with the Personal.xlsb code in my earliest comment below. Of course, you can always change the calculation mode to automatic by picking Formulas > Calculation Options > Automatic (Alt+M+X+A) at any time during your session.
Re. my code for Personal.xlsb, the following statement
    If Wb.Name = ThisWorkbook.Name Then Exit Sub
can be replaced by this statement
    If Wb Is ThisWorkbook Then Exit Sub
for a minor improvement.
The following formula uses Excel's INFO function to report the current calculation mode:
    =INFO("RECALC")
And this function in My Excel Toolbox adds a comment (Note) to the formula's cell indicating the current calculation mode:
    =CalcMode([Visible])
If optional Visible is FALSE, the comment will not be made visible; the default is TRUE, which makes it visible. CalcMode returns Null (""/0/FALSE), so its value can be ignored when combined with another function. For example,
    =PI() + CalcMode()    --    returns 3.14159... with a comment
    ="abc" & CalcMode()    --    returns abc with a comment
After using Formulas > Calculation Options > Manual (Alt+M+X+M) to switch from Automatic, it is necessary to press F9 to update INFO or CalcMode.
Finally, My Excel Toolbox includes the ToggleCalcMode macro (Ctrl+T+C+M) to switch from Automatic (or Semiautomatic) to Manual and from Manual to Automatic; in either case it recalculates all open workbooks (updating any INFO or CalcMode formulas). And it briefly displays a calculation mode notification (BalloonTip) in the system tray and action center.
See https://sites.google.com/view/MyExcelToolbox/


2025-01-21 11:48:23

J. Woolley

@Simon Freeman
Sub #1: When Personal.xlsb opens (it is usually first), give App the ability to process Application events.
Sub #2: When a new workbook is created (e.g., click New in Backstage), use Sub #3 to check if Calculation is Manual.


2025-01-21 05:43:31

Simon Freeman

J. Woolley - could you kindly explain the first two subs ie

Private Sub Workbook_Open()
Set App = Application
End Sub

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
App_WorkbookOpen Wb
End Sub

Many thanks

Simon


2025-01-21 05:39:20

Simon Freeman

J. Woolley - many thanks - Simon


2025-01-20 15:55:18

J. Woolley

@Simon Freeman
Yes. Press Alt+F11 to open the Visual Basic Editor (VBE), then copy/paste the following code to the ThisWorkbook module of PERSONAL.XLSB:

Private WithEvents App As Application

Private Sub Workbook_Open()
    Set App = Application
End Sub

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
    App_WorkbookOpen Wb
End Sub

Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
    Dim msg As String
    If Wb.Name = ThisWorkbook.Name Then Exit Sub
    If Application.Calculation = xlCalculationManual Then
        msg = "The calculation mode is Manual." & vbLf _
            & "Do you want to make it Automatic?"
        If MsgBox(msg, (vbQuestion + vbYesNo)) = vbYes Then
            Application.Calculation = xlCalculationAutomatic
            msg = "The calculation mode is now Automatic."
            MsgBox msg, vbInformation
        End If
    End If
End Sub

For more about PERSONAL.XLSB, see:
https://www.myonlinetraininghub.com/create-a-personal-macro-workbook-personal-xlsb
https://www.ablebits.com/office-addins-blog/excel-personal-macro-workbook/


2025-01-18 05:06:27

Simon Freeman

Would it be possible to create a macro that runs whenever you open a workbook and if the workbook is set to manual calculation, warns you and invites you to change it to auto. It shouldn't change it automatically as you might want manual calculation.


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.