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
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.
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!
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 MoreSome formulas require the use of circular references in order to determine a result. If you want to make sure that ...
Discover MoreA little green triangle in the corner of a cell means that Excel thinks there is an error with the cell contents. If ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.
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.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments