Excel do not calculate on save

Bottom Line: Learn about the different calculation modes in Excel and what to do if your formulas are not calculating when you edit dependent cells.

Skill Level: Beginner

Watch the Tutorial

Watch on YouTube & Subscribe to our Channel

Download the Excel File

You can follow along using the same workbook I use in the video. I’ve attached it below:

Why Aren’t My Formulas Calculating?

If you’ve ever been in a situation where the formulas in your spreadsheet are not automatically calculating as they should, you know how frustrating it can be.

This was happening to my friend Brett. He was telling me that he was working with a file and it wasn’t recalculating the formulas as he was entering data. He found that he had to edit each cell and hit Enter for the formula in the cell to update.

And it was only happening on his computer at home. His work computer was working just fine. This was driving him crazy and wasting a lot of time.

The most likely cause of this issue is the Calculation Option mode, and it’s a critical setting that every Excel user should know about.

Calculation Options Manual or Automatic Calc Mode.

To check what calculation mode Excel is in, go to the Formulas tab, and click on Calculation Options. This will bring up a menu with three choices. The current mode will have a checkmark next to it. In the image below, you can see that Excel is in Manual Calculation Mode.

When Excel is in Manual Calculation mode, the formulas in your worksheet will not calculate automatically. You can quickly and easily fix your problem by changing the mode to Automatic. There are cases when you might want to use Manual Calc mode, and I explain more about that below.

Calculation Settings are Confusing!

It’s really important to know how the calculation mode can change. Technically, it’s is an application-level setting. That means that the setting will apply to all workbooks you have open on your computer.

As I mention in the video above, this was the issue with my friend Brett. Excel was in Manual calculation mode on his home computer and his files weren’t calculating. When he opened the same files on his work computer, they were calculating just fine because Excel was in Automatic calculation mode on that computer.

However, there is one major nuance here. The workbook (Excel file) also stores the last saved calculation setting and can change/override the application-level setting.

This should only happen for the first file you open during an Excel session.

For example, if you change Excel to manual calc mode before you save & close the file, then that setting is stored with the workbook. If you then open that workbook as the first workbook in your Excel session, the calculation mode will be changed to manual.

All subsequent workbooks that you open during that session will also be in manual calculation mode. If you save and close those files, the manual calc mode will be stored with the files as well.

The confusing part about this behavior is that it only happens for the first file you open in a session. Once you close the Excel application completely and then re-open it, Excel will return to automatic calculation mode if you start by opening a new blank file or any file that is in automatic calculation mode.

Therefore, the calculation mode of the first file you open in an Excel session dictates the calculation mode for all files opened in that session. If you change the calculation mode in one file, it will be changed for all open files.

Note: I misspoke about this in the video when I said that the calculation setting doesn’t travel with the workbook, and I will update the video.

The 3 Calculation Options

There are three calculation options in Excel.

Automatic Calculation means that Excel will recalculate all dependent formulas when a cell value or formula is changed.

Manual Calculation means that Excel will only recalculate when you force it to. This can be with a button press or keyboard shortcut. You can also recalculate a single cell by editing the cell and pressing Enter.

Automatic Except for Data Tables means that Excel will recalculate automatically for all cells except those that are used in Data Tables. This is not referring to normal Excel Tables that you might work with frequently. This refers to a scenario-analysis tool that not many people use. You find it on the Data tab, under the What-If Scenarios button. So unless you’re working with those Data Tables, it’s unlikely you will ever purposely change the setting to that option.

Data tab what if scenarios data tables

In addition to finding the Calculation setting on the Data tab, you can also find it on the Excel Options menu. Go to File, then Options, then Formulas to see the same setting options in the Excel Options window.

Under the Manual Option, you’ll see a checkbox for recalculating the workbook before saving, which is the default setting. That’s a good thing because you want your data to calculate correctly before you save the file and share it with your co-workers.

Excel Options Window Calculation Settings

Click to enlarge

Why Would I Use Manual Calculation Mode?

If you are wondering why anyone would ever want to change the calculation from Automatic to Manual, there’s one major reason. When working with large files that are slow to calculate, the constant recalculation whenever changes are made can sometimes slow your system. Therefore people will sometimes switch to Manual mode while working through changes on worksheets that have a lot of data, and then will switch back.

When you are in Manual Calculation mode, you can force a calculation at any time using the Calculate Now button on the Formulas tab.

Calculate now button for manual calculation mode

The keyboard shortcut for Calculate Now is F9, and it will calculate the entire workbook. If you want to calculate just the current worksheet, you can choose the button below it: Calculate Sheet. The keyboard shortcut for that choice is Shift + F9.

Here is a list of all Recalculate keyboard shortcuts:

Shortcut Description
F9 Recalculate formulas that have changed since the last calculation, and formulas dependent on them, in all open workbooks. If a workbook is set for automatic recalculation, you do not need to press F9 for recalculation.
Shift+F9  Recalculate formulas that have changed since the last calculation, and formulas dependent on them, in the active worksheet.
Ctrl+Alt+F9  Recalculate all formulas in all open workbooks, regardless of whether they have changed since the last recalculation.
Ctrl+Shift+Alt+F9 Check dependent formulas, and then recalculate all formulas in all open workbooks, regardless of whether they have changed since the last recalculation.
Source: Microsoft: Change formula recalculation article

Macro Changing to Manual Calculation Mode

If you find that your workbook is not automatically calculating, but you didn’t purposely change the mode, another reason that it may have changed is because of a macro.

Now I want to preface this by saying that the issue is NOT caused by all macros. It’s a specific line of code that a developer might use to help the macro run faster.

The following line of VBA code tells Excel to change to Manual Calculation mode.

Application.Calculation = xlCalculationManual

Sometimes the author of the macro will add that line at the beginning so that Excel does not attempt to calculate while the macro runs. The setting should then changed be changed back at the end of the macro with the following line.

Application.Calculation = xlCalculationAutomatic

This technique can work well for large workbooks that are slow to calculate.

However, the problem arises when the macro doesn’t get to finish—perhaps due to an error, program crash, or unexpected system issue. The macro changes the setting to Manual and it doesn’t get changed back.

As I mention in the video, this was exactly what happened to my friend Brett, and he was NOT aware of it. He was left in manual calc mode and didn’t know why, or how to get Excel calculating again.

Therefore, if you are using this technique with your macros, I encourage you to think about ways to mitigate this issue. And also warn your users of the potential of Excel being left in manual calc mode.

I also recommend NOT changing the Calculation property with code unless you absolutely need to. This will help prevent frustration and errors for the users of your macros.

Conclusion

I hope this information is helpful for you, especially if you are currently dealing with this particular issue. If you have any questions or comments about calculation modes, please share them in the comments.

Do Not Calculate Data Tables When Saving Or Opening — Excel

Hello all. I’ve tried searching several Excel forums for my particular issue at hand and have had no luck to date on an answer, so I have decided to join and post for myself. I have an Excel workbook with ~25 data tables which calculate through several iterations to arrive at their values. My problem is that every time I save, it takes 2 min to save if I have «Automatic» or «Automatic except tables» enabled. Also, when I open it takes quite a while to open. It is to my understanding that even if the latter option is selected, data tables recalculate upon opening or saving. My ideal solution is to have «Automatic except tables» enabled, but force Excel to refrain from recalculating upon opening or saving (and only recalc tables when I press F9). I know I can keep Excel in Manual mode, but would like to avoid doing this if possible. Thanks in advance for your advice.

Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

(80% Discount Ends Soon!)

View Course


Similar Topics



Hello,

I have a number of different files that I often need to run a macro on. In order for me to do it on the 75-100 files I have at any given time, I need to open one, run the macro, close and save, then open the next one.

Is it possible to write a macro that will start with the first file in a folder, open it and update links, run a macro, save and close, and open the next file in the folder until it has open all the files in the folder.

I have experience with creating macros that reference different workbooks, but not sure how to go about opening files with different filenames (without referencing the exact filename).

I’d like to be able to have basic code for opening, saving and closing, opening next file, saving and closing, etc. and input the macro I’d need to run in each file in the appropriate location. Is this possible? Any help is greatly appreciated!!

Thanks,
Jason

View Answers


I would like to copy a small table from Word into one cell in an Excel
worksheet. The first column of the table is a list of numbers. I tried
converting the table into text with manual line breaks and tab stops to
divide columns and rows, but that didn’t solve my problem.

Excel pastes the data into several rows. When I try to merge them, I
get a warning that the selection contains multiple data values, and
merging into one cell keeps the upper-left most data only.

What I tried that didn’t work:
* Formatting the Excel cells as text before pasting the data.
* The various options for «Paste Special.» The closest I got was
inserting the table as a Document Object, which could be a workaround,
I guess.
What I am saving for when all else fails:
* The obvious solution of copying row by row into one Excel cell.

The data in the table is information about my dad’s medications. I
would like to have reference charts of how to identify the strength of
each tablet by its color and markings. I got the info from the
manufacturers’ websites and entered it into tables in Word, which I
would like to copy into a more comprehensive file I am creating in
Excel. The first column of each table is the strength of the tablet,
entered as 1 mg., 2 mg., etc. The subsequent columns describe the
shape, color, and markings. There are 3 tables, each with about 4-5
rows.

Is there a way to copy each one — whether as a table or as text — into
a single Excel cell without losing data?

Many thanks.

View Answers


Is it possible to apply a filter to multiple sheets within the same Excel workbook, using the same filter criteria?

For example, suppose you have tables of data on 3 different tabs, all having the same headings. Suppose one of the headings is «gender». If you apply a filter to the table on Sheet 1, to only show the rows containing the word «female», is it possible to have the tables on Sheets 2 and 3 automatically update to only show the «female» rows? Or would you have to manually update the filter criteria in Sheets 2 and 3?

I hope this makes sense. Thank you in advance for any help.

View Answers


I get the error message «reference is not valid» each time I open my spreadsheet. I get this message three times, and once I am done clicking ok on all three of them, my spreadsheet works just fine. The problem is, I have to send it to a bunch people.

I have

a sheet with raw data

a sheet with pivot tables

a sheet with a dashboard

and a simple macro

I don’t have any #REF cells either.

Someone has any idea of what could be the problem?

thanks

NA

View Answers


I was wondering if there is a way of getting a macro to open the «save as» dialogue box and then have it fill in the «file name» field.

I dont want it to actually make the save though as I want the user to have the chance to check that the save location is correct and the option to change the filename if required.

Cheers.

View Answers


I did a bit of browsing on this problem. Found others suffering the same but haven’t found any conclusive answer yet.

Every so often when I attempt to save a file, (including save as), Excel won’r let me. By won’t let me I mean:

using Save doesn’t appear to do anything

using Save As doesn’t either do anything, the dialog is not displayed and if I am doing via the File menu then the File menu is exited and the previous ribbon tab is displayed (i.ethe one I was on before clicking ‘File’)

if I close the workbook I am prompted to save, close without saving or cancel. Clicking save just invokes the same msgbox again.

I can’t work out when it goes into this mode. Some days I can work without this problem, other days I encounter this 2 or 3 times.

The only thing I could suspect was I think this started around about the time I installed xlDennis’ code library. I have uninstalled the addin and so far so good, but I cannot categorically say that this was the cause.

Anyone have any idea?

Cheers
Jon

Edit: I have read this: http://support.microsoft.com/kb/271513
Doesn’t seem to cover the issue I describe

View Answers


Hey there,

I have been tasked with introducing userforms into an excel sheet and tbh I’m quite amazed that excel has this capability of adding userforms to excel sheets.

Anyway, I have 2 columns of data in an excel sheet and I wish to add this to a userform so that the userform displays the 2 columns beside each other with headings, like a table. The user should then be able to select a particular row and insert it into the specified cell.

I would also like the user to select a row on the table and then be able to bring up another table depending on the row selected…basically so that the user can draw deeper into the information that they require.

I have an example excel sheet where I have 2 sheets. One sheet is the user entry sheet called User Entry Screen. the next sheet is the tables sheet where my tables are held. Once the user selects the cell shown in the example sheet, it should then bring up the user form. the user then, depending on which item clicked, then gets shown the next window with a table and info on it. then user should then be able to select an item and the cells on the user entry screen would then get populated.

Personally I think this is a really tricky challenge and any help with doing this would be extremely appreciated.

I’ll post up further comments as I am trying to work my way through it!

Thanks,

Jag

View Answers


I’m trying to come up with a solution to calculate the man hours and days worked over multiple sheets.

I have a file that has 8 sheets. the first seven sheets are the days of the week and the 8th sheet is where I want to calculate the hours.

The days of the week consists of «Name» «Date» Hours»

The 8th sheet consists of «Name», «Days of the week in their own column (7 columns in total)», «Total Hours» and «Total Days Worked»

Now… each day is always a different group and what I’m hoping for is to create a formula that can grab each name with their hours and throw them into the 8th sheet. So when the end of the week is done I have all the Employees weekly hours and days worked all finished.

I hope this makes sense. This file is to track about 100 employees that are on a rotational work schedule.

I have attached a sample file.

Thanks in advance for your help.

View Answers


Hi all,

I’ve been getting this error on occasion recently.

— It’s a shared document
— There is usually 10-12 people using the file at the same time

I’ve read on the Microsoft Help site that the issue is that somebody is accessing the file while another is trying to open it.

Is there a way, perhaps through VBA, that I can not allow a user to save while somebody else is opening the document? Other suggestions on how to avoid this error?

Thanks!

View Answers


I have a VBMacro Excel file loaded on a Server that numerous people access. A Macro in this file creates a Copy of a specific Sheet within the Active Workbook and I want to Save it to the individual’s Desktop.

How do I find out what the current User’s desktop folder path is each time the Marco is run by a different User?

Example User’s path: ‘C:Documents and SettingsjfarcDesktop’

Where ‘jfarc’ is the name of the current User which, will of course change with every different User that runs the Macro.

Also, is there a way to pull out of Excel what is the current User’s ‘Options | General | Default File Location’ entry? Which may differ from the above directory.

I am familiar with and use the following coding for Opening/Saving files to the current directory of the opened workbook, but it only gives the path of the existing Excel workbook and not the current User’s Directory Path:

Dim wbThis As Workbook
Set wbThis = ThisWorkbook
ChDir wbThis.Path

View Answers


Posted this on the Ozgrid forums, but haven’t gotten any help yet, so I thought I’d try here too!

I’ve been having a strange problem lately. I have a fairly lengthy macro that works perfectly most of the time. Occasionally it will run as expected but as soon as the macro ends, excel becomes unresponsive to mouse-clicks. When I click anywhere (trying to select a cell, or an excel menu item…clicking anywhere in excel) I’ll get the a ‘ding’ system sound and nothing will happen. BUT, if I use the keyboard arrow keys, I can see that the active cell selection moves accordingly. Then it gets really strange — when I have a cell highlighted and press any key to input text, it gets duplicated. So if I press «s’ it will input «ss» into the cell, and then when I press enter it will auto-move to the next cell down, but nothing ends up getting saved into the previous cell.

I don’t understand what’s going on at all. I can’t think of anything in my macro that would have these kinds of effects. I’ve made sure that screenupdating is turned back on at the end of every procedure. If I go into the VBE, I can manually run procedures and they all work fine. The only way I’ve been able to get back to normal is by force closing excel altogether and re-opening. Any ideas?

______________________

Still having trouble, and the same thing is happening with this workbook on two different computers, so I don’t think it’s a hardware, or OS specific issue. When it gets locked up like this, I can still do anything in the VBE (edits cells, run macros, etc.) with no problems. If I’m in the excel window, I can click alt on the keyboard and the shortcut keys for the menu come up, but I can’t go deeper than that by clicking the letter shortcuts, they do nothing. If I use the delete key to delete the contents of a cell, then it gets deleted. But if I type anything else (numbers, letters, or symbols) then it types 2 instances of the key every time, yet when I hit enter, nothing changes in the cell. I also can’t really bring focus to the excel window if something else (ie. the VBE) is on top of it, clicking into the excel window just gives the little system ‘ding’ sound and nothing happens.

If I hit the save button in the VBE (since I can’t click anything in the excel window), then it seems to snap out of it and go back to normal. I tried searching for anything simmilar to this and can’t find anything…

Any help would be much appreciated. This is driving me nuts!

View Answers


Sorry for the question. Normally I find answers to my excel questions by going through the help tab or by searching on Google. However, I don’t even know what question to ask on this one!?!

Basically I have created a spreadsheet with several columns, but I have one column that lists the shirt size (YS, YM, YL, AS, AM, AL, XL, 2X, 3X) of each person. Is there a formula that I can create that will tabulate the number of sizes (i.e. AS=2, AM=7, etc.)?

In previous years I made a column for each size, and simply placed a «1» in the correct column, and had excel just add the 1’s from each column. However, that takes more time and space. I was hoping to streamline it this time around.

Thanks for taking the time to read this post. Any help would be appreciated! Thanks, doug

View Answers


I have searched and read all the help files. I find the properties of
an object, I see how I can «lock», «size and move with cells» or «not
move with cells». No matter what I select, the object moves off the
screen, when the user, scrolls to the right of the spreadsheet.

Is there a way to lock the position, let’s say , in the upper right
corner and have it stay there?

This would be quite useful for an EXIT button, that I have created,
that will close the program without saving (it’s a read-only file.)

Thanks to all the wonderful people here that have been so helpful and
give us their valuable insight and time.

Jo

View Answers


i have a worksheet with formulas in 15,000 cells; i have set the calculation to maunal so that you have to press F9 to calculate the sheet.

sometimes, it takes 45 seconds to calc the whole sheet, other times, it takes 5 minutes. how do i clear the cache, or what do i have to do so that it calcs 45 seconds each time.

i don’t want the application to think, it would be better if those 15,000 cells can be returned in a fraction-of-a-second. any ideas/tips? thanks.

View Answers


Hi,

Im working with a large data spreadsheet that has Yes and No answers in different columns. There are blanks within the selection too.
I need to calculate only the Yes.
I have tried using the filters in the Pivot Table field list and they are not working.
So now i’m trying to add a COUNTIF formula in the Calculated Fields section.
The formula I’m using is =Countif(‘Time limit extension’=»yes») and i get the answer «too few.»
What should I be using in the formula to get the calculated field to work? I have search the whole forum and I haven’t found an answer that can help me.

Please HELP!!!

View Answers


Is there a way to force Excel to stop calculating a formula?
Excel showing «Not Responding» and is grayed out. I’ve tried to use Task Manager to stop the application, but as soon as open up Excel it goes right back to opening the spreadsheets and starts calculating again. I have spreadsheets saved, so don’t have to recover.
thanks…Dean

View Answers


I have a co-worker’s file that he is having trouble with. He is using Excel 2000 SP3. When copying a cell with a formula in it of «=D6+C6» and pasting it into the next cell down, it will display the same value in the cell as the calculated value from above, but has the correct formula displayed in the formula bar of «=D7+C7».

Example:
A1: 50
A2: 10
B1: 60
B2: 20

A3: Formula: =A1+A2 Displays: 60
Right click A3, Copy, right click B3, paste
A3 displays 60

When I click save, it will change the display value to 80.

I am trying this on his workstation and mine. Mine has Office 2010, so I think there might be an issue with the file itself.

Also, not just copy and paste. I can also just click the top cell after filling in the formula and then drag the bottom right of the cell downward and it will do the same of filling in the correct formula, but have the incorrect value.

I know that I could get him to just click save each time before really looking at the results, but that is just a band aid to the problem.

Any ideas how to fix this?

View Answers


I run a small business. I want to start keeping track of inventory using a barcode system.

I know Excel «ok», but I don’t know programming.’

I’d like to be able to do something very simple (for now)…

For example…if I had PRODUCT / CODE / INV VALUE

A — CODE A — 5
B — CODE B — 11
C — CODE C — 14

I would want to be able to click a button (or scan a code for) : ADD +1 or REMOVE -1

…then scan the barcode on the product (A) and have it add or remove one, respectively. So, if the row for A is:

A — CODE A — 5

I choose «ADD» (with a button or scan code), then scan the barcode, and the spreadsheet automatically finds the code in the sheet, and changes the corresponding inventory value:

A — CODE A — 6

Does that make sense? How might I go about doing that?

View Answers


I know this question has been asked a bajillion times, so I apologize for the redundancy.

I am working with an Excel spreadsheet and saving it as a .csv file in order to upload to an application that parses out the .csv data as transactions. The system requires .csv files, so this is how I need to save my doc (with this extension). I have been successful at preventing Excel from coverting that long number into scientific format. I have saved as a TXT file, pasted the longer number and it displays correctly. That is all good. But I have to save as a .csv. So if I do that, close the Excel window, and then open again (as the .csv file), the numbers are back to being displayed in scientific format. I have tried creating an Excel doc from scratch and entering text in Text format, to see if this created a cleaner file. But again, the second I save as .csv, close the window and then open that file up again, that dang scientific format is back.

Does anyone have any idea of how to work around this? Once I have successfully gotten the numbers to display as the long-chain number, how can I get them to «stick» so that they don’t revert back to scientific format when I reopen the file?

Thanks so much for your help!

View Answers


We have an Excel spreadsheet that sits on the network.
People need to open the file to be able to sign up for various duty rosters.
We would like for the file to open for the first person.
And then for any others after that, get a message that the file is in use
WITHOUT the option to open a read-only copy.
Our staff can’t read and they keep opening additional copies of the file!
I have read about sharing the file and I don’t think that would make things
any better.
Thanks,
Lynn

View Answers


  1. 07-22-2010, 02:58 PM


    #1

    oddstandard is offline


    Registered User


    Do not calculate data tables when saving or opening

    Hello all. I’ve tried searching several Excel forums for my particular issue at hand and have had no luck to date on an answer, so I have decided to join and post for myself. I have an Excel workbook with ~25 data tables which calculate through several iterations to arrive at their values. My problem is that every time I save, it takes 2 min to save if I have «Automatic» or «Automatic except tables» enabled. Also, when I open it takes quite a while to open. It is to my understanding that even if the latter option is selected, data tables recalculate upon opening or saving. My ideal solution is to have «Automatic except tables» enabled, but force Excel to refrain from recalculating upon opening or saving (and only recalc tables when I press F9). I know I can keep Excel in Manual mode, but would like to avoid doing this if possible. Thanks in advance for your advice.


  2. 06-06-2014, 05:11 AM


    #2

    Jamesahood is offline


    Registered User


    Re: Do not calculate data tables when saving or opening

    Hi there

    I would like to know how to do exactly the same thing. Has no one replied to this thread yet?

    Cheers


  3. 06-06-2014, 05:17 AM


    #3

    Re: Do not calculate data tables when saving or opening

    I think the red text is a answer to the problem.

    Notice my main language is not English.

    I appreciate it, if you reply on my solution.

    If you are satisfied with the solution, please mark the question solved.

    You can add reputation by clicking on the star * add reputation.


  4. 06-06-2014, 05:21 AM


    #4

    Jamesahood is offline


    Registered User


    Re: Do not calculate data tables when saving or opening

    Thanks for the quick response oeldere. However, my preference is still the same as per the original question. Is there any method to stop excel recalculating datatables upon open, close and save (i.e. only happens when I press F9) whilst keeping the calculations setting at ‘Automatic except for datatables’?

    Thanks


  5. 06-06-2014, 05:54 AM


    #5

    Jamesahood is offline


    Registered User


    Re: Do not calculate data tables when saving or opening

    Managed to solve the issue using other forumns guys — Applied the following code to the workbook:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.CalculateBeforeSave = False
    End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.CalculateBeforeSave = False
    End Sub

    Cheers


We’ve detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.

Allow Ads at MrExcel

Which adblocker are you using?

AdBlock AdBlock Plus uBlock Origin uBlock

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the «Pause on this site» option.

Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for «mrexcel.com».

Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the «Power» button.
3)Click on the «Refresh» button.

Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the «Power» button.
3)Click on the «Refresh» button.

Go back

Sometimes you will see the information that asks you whether you want to save the changes or not. But actually you make no change to the file. Why does this information still appear?

If you make some modifications to an Excel file and then close it without saving, it will ask you whether you want to save the changes. It is indeed a very good feature that can avoid data loss to certain degree.The Information

However, when you open another workbook and check certain values instead of changing it, you will still see the information. You may wonder which value has changed. You can click the button “Cancel” and find in the file. The easiest way is to check whether the “Undo” button is available. But you will see that this button is also invalid.Invalid Button

To figure out the reason, you may continue referring to the rest of the article.

The Reason behind the Phenomenon

In an Excel with plenty of data, it will certainly contain formulas. Some formulas don’t need to refer to another cell. For example, the RAND function. Sometimes you will use it in your worksheet to get some random numbers. Other functions also include NOW, TODAY and others.

And now check the calculation options of the current workbook.

  1. Click the tab “Formulas” in the ribbon.
  2. And then click the button “Calculations Options”.

In this image, you can see that the calculation options is “Automatic”.Automatic

Now we can get the conclusion. If there is certain functions and the calculation options is “Automatic”, whenever you open the file, those functions will recalculate automatically and produce new results. On the other hand, if this is a macro workbook, certain codes will also have the same effect. Thus, even if you made no change to the workbook and the “Undo” button is invalid, there still exist changes in the file. Therefore, the next time you see the information, you need to decide whether to save the changes of those functions according to the actual need.

Avoid Auto Calculate through Calculation Options

If you find this feature annoying, you can also close it. To make the data more accurate in the workbook, you need to change in Excel options.

  1. Click “File” in the ribbon.
  2. And then click “Options”.Click File and Click Options
  3. In the “Excel Options”, choose the “Formulas”.
  4. And then in the “Calculation Options”, check the option “Manual”.

There are also two different conditions about the option under the “Manual”.

  • If you check the option “Recalculate workbook before saving”, the next time you open the workbook, the formulas will not recalculate. If you make no change to the workbook and close it, the formula will not recalculate and you will not see the information. But if you save the workbook manually, even if you still make no change to the file, the formula will recalculate and then save.
  • On the other hand, if you uncheck the option, it will not recalculate when you open the workbook. When you save the workbook, the corresponding formula will still not recalculate. This is exactly the difference of the option. And you will not see the information when you close the file.

Now you check the “Manual”, only when you manually recalculate the worksheet (Press F9) or workbook (Press Shift+F9), the formula will recalculate. Hence, you need to decide whether to check the option according to your actual need.Change Calculation Options

  1. And then click “OK” in the window.
  2. Next save the workbook.

Besides, this setting only takes effect in the current workbook, so it will not affect other Excel files. And now you will never be bothered by the same problem.

You may also pay attention that all the formulas in the workbook will not recalculate automatically. Suppose there is a formula that refers to a certain cell. When you change the value in the cell, the formula will not recalculate. If you uncheck the option “Recalculate workbook before saving” and you forget to recalculate manually, the result of the formula will actually become an error even if you save the file. This is a very important point that you need to be careful.

Your Data is Unique

Your data stored in Excel is certainly the most unique element because no one else has the same data with yours. Thus, the result can be disastrous if you lost your file. Thus, you can prepare the software beforehand. Once your Excel corrupts, you can use this tool immediately to fix Excel. Hence your loss can be reduced to the minimum.

Author Introduction:

Anna Ma is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including word recovery and outlook repair software products. For more information visit www.datanumen.com

You’re probably already aware that Excel has two main calculation modes: automatic and manual.

  • Automatic calculation – calculates when a value changes or based on specific actions (inserting, deleting, hiding rows/columns, or renaming a worksheet, etc.).
  • Manual calculation – only calculates when explicitly requested by the user:
    • From the ribbon, click Formulas > Calculate Now (shortcut key F9) to calculate all open workbooks.
    • From the ribbon, click Formulas > Calculate Sheet (shortcut key Shift + F9) to recalculate only the active worksheet.

I’m sure everybody would prefer to use automatic calculation; however, formula complexity and large data sets can cause spreadsheet calculation to be slow. As a result, some users set Excel to manual calculation mode.

The differences between these two calculation modes can cause issues as they don’t always behave as we might expect. To some users, it may appear the calculation mode keeps changing all by itself. In this post, we’ll explore what causes this to happen, and how we can solve it.

Understanding the scope of the calculation mode

The calculation mode is an application-level setting. This means it applies to all the workbooks open in Excel. If Excel is in automatic calculation mode, all workbooks are in that mode. Equally, if Excel is in manual calculation mode, then all workbooks are also in manual calculation mode. It is one setting that applies to all open workbooks in the Excel session.

If using Excel Online, each browser window is treated as a separate application and therefore has its own calculation settings.

What actions change the calculation mode?

So far, it all seems straightforward. However, what causes the most confusion is understanding what actions cause the calculation mode to change:

  • Settings changed by the user
  • VBA code
  • Office Scripts
  • The first workbook opened in a session

Let’s take a look at each of these in turn.

Settings changed by the user

To my knowledge (excluding VBA code or Office Scripts), there are two ways for the user to change the calculation mode, through the Formula ribbon or through the Excel Options window.

Option 1: Formula ribbon

In the ribbon, click Formulas > Calculation Options > [Select: Automatic / Auto except data tables / Manual]

Formulas - Calculation Options in Ribbon

Option 2: Excel Options

Click File > Options from the ribbon to open the Excel Options dialog box.

Then, in the Excel Options dialog box click Formulas > Calculation options > [Select: Automatic / Manual / Auto except data tables].

Excel Options - Calculation Mode

Click OK to close the window.

Note: Using this method you can also enable/disable recalculating when saving.

What is a data table?

In the calculation options, the second item is automatic except for data tables. The data tables being referred to are the feature found under Data > What If Analysis > Data Tables…, it is not referring to the Tables feature.

Data tables are separated because they can cause slow calculation due to:

  • Performing multiple recalculations of the workbook
  • Using single-threaded calculations

Data tables are useful because they provide a way to calculate multiple versions of a calculation using different parameters, and then compare the variations between those calculations. However, as they can cause slow calculation an additional option is available.

VBA code

When using VBA, it is easy to change the calculation mode. The lines of code below are examples of the types of how to change the calculation mode.

'Change to automatic calculation
Application.Calculation = xlAutomatic

'Change to manual calculation
Application.Calculation = xlManual

'Change to automatic except for data tables
Application.Calculation = xlSemiautomatic

'When in manual mode, calculate the workbook before saving
Application.CalculateBeforeSave = True

'When in manual mode, do not calculate the workbook before saving
Application.CalculateBeforeSave = False

With VBA, it is common to change the calculation mode to manual at the start of a procedure, then change it back at the end, as it helps with speed.  However, if the macro errors or exits before completion, the calculation mode will not return to its previous state.

So, VBA can cause unexpected changes in calculation mode if the code is not written correctly.

Office Scripts

Office Scripts, like VBA, can change the calculation mode through code.

//Change to automatic calculation
workbook.getApplication().setCalculationMode(ExcelScript.CalculationMode.automatic)

//Change to manual calculation
workbook.getApplication().setCalculationMode(ExcelScript.CalculationMode.manual)

//Change to automatic except for data tables
workbook.getApplication().setCalculationMode(ExcelScript.CalculationMode.automaticExceptTables)

Unlike VBA, Office Scripts does not have any options to force calculation before save.

First workbook in session

The methods above make sense, as they involve user action or running a code. But the most common reason for the switch between automatic and manual is not as apparent.

The calculation mode is most often changed based on the calculation setting of the first workbook opened in the Excel session.

Each workbook contains the calculation mode setting. Excel adopts the calculation mode of the first workbook opened in a session. Any workbooks subsequently opened also adopt the calculation mode of the first workbook, irrespective of its own settings.

This is the part that causes the most problems, as we don’t usually check calculation settings when opening a workbook in a new session.

NOTE: Excel Online treats each workbook as a separate application session therefore it cannot impact other workbooks.

The saved calculation settings?

When a workbook saves, the calculation mode at the time of saving is held within the workbook. This becomes a problem for anybody who does not understand calculation modes.

Let’s use an example:
Jack is a newish Excel user and does not know that calculation modes exist. He believes all Excel files are set to automatic calculation; that is all he has ever experienced. Jack’s work colleague sends him a workbook saved in manual calculation mode via e-mail. Jack opens the workbook, this happens to be the first workbook opened in Excel. Jack has no idea the calculation mode for the application has now been set to manual; he has no idea that manual even exists. Jack continues to work with Excel; opening, modifying, saving, and e-mailing workbooks. There are two issues key issues here:

  1. The workbooks saved during that session may now be set to manual. If subsequent users open up those same workbooks first, their session too will change to manual.
  2. Jack’s workbooks may not have calculated at the right point in the process, and therefore he has potentially created workbooks containing lots of incorrect values.

For many users, manual calculation mode can become like a virus that spreads without them knowing it. So, the lesson is to check your calculation mode regularly.

How to fix Excel to always be in one calculation mode

The quick answer is that there is no ‘fix’ because that is how Excel has been designed to operate. However, there are a few options to mitigate the potential problem:

Use VBA in all workbooks, which must be opened with automatic calculation
Adding a VBA workbook open event to your workbook will force the calculation mode to change to automatic each time the workbook is opened. The example code below should be inserted into the Workbook code module

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

However, there is one drawback to using a macro option. Depending on the users’ settings and whether they click the button to enable content, the macro may or may not execute.

NOTE: In Excel Online there is no way to automatically trigger an Office Script; therefore, there is no online equivalent.

Always open a specific workbook first
A better option may be to save a workbook with the correct calculation mode in your XLSTART folder. That workbook will always open first and set the calculation mode to automatic for the session.

An alternative to having a workbook in the start folder is to use a Personal Macro Workbook set to manual calculation, even if that it contains no macros. Find out more how to create a Personal Macro Workbook here: https://www.ablebits.com/office-addins-blog/excel-personal-macro-workbook/

This will not prevent the user, or macros from changing the calculation mode, but it should reduce the risk of triggering a change based on the first workbook opened.

NOTE: Excel Online does not have a feature to open a specific workbook when the application opens.

Related Posts

  • Excel formulas not calculating? 14 reasons & how to fix it
  • Excel can calculate the wrong results: WARNING
  • Automatically open workbooks when Excel starts

Headshot Round

About the author

Hey, I’m Mark, and I run Excel Off The Grid.

My parents tell me that at the age of 7 I declared I was going to become a qualified accountant. I was either psychic or had no imagination, as that is exactly what happened. However, it wasn’t until I was 35 that my journey really began.

In 2015, I started a new job, for which I was regularly working after 10pm. As a result, I rarely saw my children during the week. So, I started searching for the secrets to automating Excel. I discovered that by building a small number of simple tools, I could combine them together in different ways to automate nearly all my regular tasks. This meant I could work less hours (and I got pay raises!). Today, I teach these techniques to other professionals in our training program so they too can spend less time at work (and more time with their children and doing the things they love).


Do you need help adapting this post to your needs?

I’m guessing the examples in this post don’t exactly match your situation. We all use Excel differently, so it’s impossible to write a post that will meet everybody’s needs. By taking the time to understand the techniques and principles in this post (and elsewhere on this site), you should be able to adapt it to your needs.

But, if you’re still struggling you should:

  1. Read other blogs, or watch YouTube videos on the same topic. You will benefit much more by discovering your own solutions.
  2. Ask the ‘Excel Ninja’ in your office. It’s amazing what things other people know.
  3. Ask a question in a forum like Mr Excel, or the Microsoft Answers Community. Remember, the people on these forums are generally giving their time for free. So take care to craft your question, make sure it’s clear and concise.  List all the things you’ve tried, and provide screenshots, code segments and example workbooks.
  4. Use Excel Rescue, who are my consultancy partner. They help by providing solutions to smaller Excel problems.

What next?
Don’t go yet, there is plenty more to learn on Excel Off The Grid.  Check out the latest posts:

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

добрый вечер)
смысл такой : есть файл с кнопкой и макросом. Пользователь нажимает кнопку в этом файле и запускается макрос.
у макроса есть  такой оператор Application.Calculation = xlCalculationAutomatic
в результате происходит обновление формул в обрабатываемых файлах  и в файле-макросе.
потом , когда файл-макрос закрывается ,то появляется сообщение ,кот.предлагает сохранить файл-макрос.

скажите ,пожалуйста,есть ли не обходной способ(обходной способ я и сам придумал) ,а встроенный способ,чтобы не обновлялись формулы в файле-макросе?
потому что не удобно,когда закрывается файл-макрос ,то появляется сообщение. Ведь пользователь ничего не делает в файле-макросе

 

Шойблер

Пользователь

Сообщений: 29
Регистрация: 08.11.2014

#2

08.11.2014 23:43:57

Кажись так:

Код
Application.Calculation = xlCalculationManual
 

Ок. Извиняюсь.

Изменено: Шойблер09.11.2014 00:15:55

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

вы не поняли мою задачу. в вашем посте нет ответа на мой вопрос

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Не очень понятно про «встроенный способ»… Вариант: в конце кода записать, что файл сохранён, тогда вопрос задаваться не должен.

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

#5

09.11.2014 00:49:34

Цитата
Karataev пишет: обходной способ я и сам придумал

предлагаете поиграть в угадайку?
форумчане предлагают способы, а Вы говорите: не-е-ет, это обходной способ.
или: не-е-ет, именно этот способ я и сам придумал.

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

:D

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

Юрий М

может быть  есть в excel средство ,которое запрещает  пересчет формул в файле.
я сначала включаю это средство ,затем я делаю Application.Calculation = xlCalculationAutomatic

то,что вы предложили -это обходной путь. я такой же способ придумал ,как и вы -сохраняю файл-макрос и соответственно нет потом сообщений

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

#8

09.11.2014 09:10:19

Цитата
Karataev пишет:
может быть есть в excel средство ,которое запрещаетпересчет формул в файле

нет, такого нет
есть метод Calculate (у объектов Application, Workbook, Worksheet и Range)
соответственно, один из вариантов решения проблемы — не менять режим вычислений для приложения (т.е. всех открытых книг), а вызвать этот метод только для нужных книг (или листов, или диапазонов).
но, думаю, этот способ Вы тоже назовёте «обходным» :)

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

ikki

 нужно на время работы макроса выключить пересчет формул,чтобы ускорить работу макроса.
но после работы макроса нужно вернуть режим пересчета формул.
такой оператор  Application.Calculation = xlCalculationAutomatic  действует на все открытые файлы.

может быть есть замена Application.Calculation = xlCalculationManual и таком можно сделать для конкретных файлов?

Изменено: Karataev09.11.2014 09:18:37

 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

Ваше предположение вполне логично.
но неверно.
свойство Calculation есть только у приложения целиком, но не у книг
(по крайней мере — включительно по Excel 2010, для версии 2013 — не знаю).

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

The_Prist

Пользователь

Сообщений: 14181
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#11

09.11.2014 11:48:15

Цитата
Karataev пишет:
Пользователь нажимает кнопку в этом файле и запускается макрос.
когда закрывается файл-макрос ,то появляется сообщение. Ведь пользователь ничего не делает в файле-макросе

А по-моему логично. Пользователь нажал кнопку — значит он понимает, что нажимает это для каких-то изменений. А если при нажатии кнопки изменений не происходит — зачем кнопка? Т.е. изначально как-то неверно задача стоит. Пользователь нажал кнопку, макрос что-то за него сделал. Значит изменения были и пользователь должен иметь выбор — сохранить эти изменения или нет.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#12

09.11.2014 11:49:01

Цитата
Karataev пишет: я такой же способ придумал ,как и вы -сохраняю файл-макрос и соответственно нет потом сообщений

А я говорю о другом — сообщить Excel, что файл УЖЕ сохранён. Но это тоже будет в Вашей интерпретации «обходным» маневром. Что вообще считать не «обходным»? И где Вы у меня вычитали, что я предлагаю сохранять?

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

The_Prist

макрос запускается не кнопкой с ленты ,а с файла. в файле находятся некоторые данные,которые макрос использует,но изменения никакие в файле-макросе не делает. пользователь может внести какие-нибудь изменения -это не запрещено. но это будет редко, а если ничего не придумать в макросе,то сообщение о сохранении всегда будет.

Юрий М

я невнимательно понял ваше предложение. да,можно не сохранять файл.
но все равно два неудобства : 1)в файле-макросе вообще не надо пересчитывать формулы. это хорошо,что файл-макрос содержит мало формул,а если было бы много? тогда время тратилось бы на пересчет. то есть уже  плохое. 2)да,это тоже обходное. необходной способ -это может быть у файла есть какое-нибудь свойство,которое отключает в нем пересчет формул или если можно включать режим пересчета,но где-нибудь пометить,что пересчитывать формулы не надо.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#14

09.11.2014 14:12:55

Цитата
Karataev пишет: включать режим пересчета,но где-нибудь пометить,что пересчитывать формулы не надо

Это как? А для чего его (режим) тогда включать?)

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

Юрий М

вот так включается Application.Calculation = xlCalculationAutomatic

вообще,может быть действительно сделать запуск макроса с помощью кнопки на ленте. надо подумать. может так будет удобнее пользователю.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Как включается режим — я знаю. Я не знаю, зачем его включать, чтобы не пересчитывать.

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

в макросе и так используется пересчет. это нужно,чтобы превратить формулы в значения. поэтому после работы макроса не нужно обновлять формулы,хотя бы потому,что формул уже нет

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Ну не обновляйте — не включайте автоматику.

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

но макрос отключает автоматику -значит должен включить после работы

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Но ведь уже предлагали: включить автоматику и сказать Excel, что файл сохранён — не срабатывает?

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

#21

09.11.2014 14:51:32

срабатывает

Posted by | Oct 20, 2018 | Tips | 0 |




Tip: Excel not Updating Formulas until Save

I recently had a client who was having an issue with excel. When they had cells with formulas, if they updated the cells the formula would not change until they had saved the document. There is a simple option in excel which enables this.

If excel is not updating cells with formulas until you save, use the following method to make it automatic.

  1. Go to File -> Options
  2. Select “Formulas” from the left hand side bar
  3. Under Calculation Options, select automatic for workbook Calculation

Like this post? Please share to your friends:
  • Excel do loop exit
  • Excel do loop continue
  • Excel english language pack
  • Excel dlya windows 10
  • Excel english 5 grade