简体   繁体   English

Excel不更新单元格,选项>公式>工作簿计算设置为自动

[英]Excel is not updating cells, options > formula > workbook calculation set to automatic

The usual answer to this question is to turn formulas to automatic. 这个问题的通常答案是将公式变为自动。 This, in my case, is not working. 就我而言,这是行不通的。

The second usual answer is that there is some macro that is affecting the Excel settings. 第二个通常的答案是有一些宏影响Excel设置。 This is not the case with my problem (xlsx file). 这不是我的问题(xlsx文件)的情况。

Office 2010, my simple formula is not updating. Office 2010,我的简单公式没有更新。

The formula is: 公式是:

=IFERROR(TRIM(OFFSET(MainCopy!AG$3,$A77,0)),"")

Everything else is updating in the spreadsheet. 其他所有内容都在电子表格中更新。 The cell in MainCopy has the correct value. MainCopy中的单元格具有正确的值。 The value displayed is the value before I updated the information on MainCopy. 显示的值是我更新MainCopy上的信息之前的值。 When I put new information in MainCopy, the value on this page stayed the same. 当我在MainCopy中添加新信息时,此页面上的值保持不变。

I have: 我有:

  • Researched this issue on the internet - all solutions easy to find do not address this problem 在互联网上研究了这个问题 - 所有易于找到的解决方案都没有解决这个问题
  • Pressed F9 (did nothing) 按下F9(什么也没做)
  • Pressed Shift-F9 (did nothing) 按下Shift-F9(什么也没做)
  • Turned calculation to manual and hit all combinations of F9 (did nothing) 将计算转为手动并点击F9的所有组合(什么也没做)
  • Turned calculation back to automatic (did nothing) 将计算变回自动(什么也没做)
  • Saved with a new name (did nothing) 用新名称保存(什么也没做)
  • Re-updated data on MainCopy (did nothing) 在MainCopy上重新更新数据(什么都不做)
  • Selected the cell and hit F9 (did nothing) 选中了单元格并点击F9(什么也没做)
  • Put my cursor in the box and hit enter (UPDATED VALUE CORRECTLY) 将光标放在框中并按Enter(更新值正确)

I cannot put my cursor in each box and hit enter, there are too many boxes. 我不能把光标放在每个盒子里然后按回车,盒子太多了。 In addition, this is creating a major error trap in a spreadsheet that needs to be correct. 此外,这会在电子表格中创建一个需要正确的主要错误陷阱。 Is there some obscure setting that has been triggered in this file that is creating this issue? 是否有一些模糊的设置已在此文件中触发创建此问题?

I had this happen in a worksheet today. 我今天在工作表中发生了这种情况。 Neither F9 nor turning on Iterative Calculation made the cells in question update, but double-clicking the cell and pressing Enter did. F9和启用迭代计算都没有使有问题的单元格更新,但是双击单元格并按Enter键。 I searched the Excel Help and found this in the help article titled Change formula recalculation, iteration, or precision: 我搜索了Excel帮助,并在标题为Change formula recalculation,iteration或precision的帮助文章中找到了它

Ctrl Alt F9 : Ctrl Alt F9
Recalculate all formulas in all open workbooks, regardless of whether they have changed since the last recalculation. 重新计算所有打开的工作簿中的所有公式,无论它们自上次重新计算后是否已更改。

Ctrl Shift Alt F9 : 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. 检查相关公式,然后重新计算所有打开的工作簿中的所有公式,无论它们自上次重新计算后是否已更改。

So I tried Ctrl Shift Alt F9 , and sure enough, all of my non-recalculating formulas finally recalculated! 所以我尝试了Ctrl Shift Alt F9 ,果然,我重新计算了所有非重新计算的公式!

ctrl alt f9,是临时解决方案,转到选项 - 公式 - 自动计算是正确的方法,该选项转为手动,因为错误按下某些快捷键会自动转为手动

Add this to your macro and it will recalculate all the cells and formulae. 将此添加到您的宏,它将重新计算所有单元格和公式。

Call Application.CalculateFullRebuild

Hope it has been already fixed. 希望它已经修复。

PS The above code is for the people looking for a macro to solve the issue. PS以上代码适用于寻找宏来解决问题的人。

Reference: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-calculatefullrebuild-method-excel/ 参考: https//msdn.microsoft.com/en-us/vba/excel-vba/articles/application-calculatefullrebuild-method-excel/

转到文件 - >选项 - >公式 - >计算选项/将工作簿计算设置为自动

My problem was that excel column was showing me "=concatenate(A1,B1)" instead of it 's value after concatenation. 我的问题是excel列显示"=concatenate(A1,B1)"而不是串联后的值。

I added a space after "," like this =concatenate(A1, B1) and it worked. 我在“,”之后添加了一个空格,就像这样=concatenate(A1, B1)并且它有效。

This is just an example that solved my problem. 这只是解决我问题的一个例子。

Try and let me know if it works for you as well. 试着让我知道它是否也适合你。

Sometimes it works without space as well, but at other times it doesn't. 有时它也可以在没有空间的情况下工作,但在其他时候却没有。

The field is formatted as 'Text', which means that formulas aren't evaluated. 该字段的格式为“文本”,这意味着不评估公式。 Change the formatting to something else, press F2 on the cell and Enter. 将格式更改为其他内容,按单元格上的F2并按Enter键。

On Excel 2016, using Alt + Ctrl + F9 work well. 在Excel 2016上,使用Alt + Ctrl + F9可以正常工作。

This combination call Application.CalculateFull() VBA Excel function. 这个组合调用Application.CalculateFull() VBA Excel函数。

This can be time consuming if other Excel files are loaded because all Excel sheets of all opened workbooks will be calculated again! 如果加载了其他Excel文件,这可能会非常耗时,因为将再次计算所有打开的工作簿的所有Excel工作表!

I have searched a function to calculate a specific sheet but I don't have found something! 我搜索了一个函数来计算一个特定的工作表,但我没有找到一些东西!

In short 简而言之

creating or moving some/all reference containing worksheets (out and) into your workbook may solve it. 创建或移动包含工作表(out和)的部分/全部引用可以解决它。

More details 更多细节

I had this issue after copying some sheets from "template" sheets/workbooks to some new "destination" workbook (the templates were provided by other users!): 将一些工作表从“模板”工作表/工作簿复制到一些新的“目标”工作簿后,我遇到了这个问题(模板由其他用户提供!):

I got: 我有:

  • workbook WbTempl1 工作簿WbTempl1
    • with sheet WsTempl1RefDef (defining the references used eg in WsTempl2RefUsr below, eg project on A1 ) 使用工作表WsTempl1RefDef (定义在下面的WsTempl2RefUsr中使用的引用,例如A1 project
  • workbook WbTempl2 (above references do not exist, because WsTempl1RefDef is not contained nor externally referenced, eg like WbTempl2.Names("project").refersTo="C:\\WbTempl1.xls]'WsTempl1RefDef!A1" ) 工作簿WbTempl2 (上面的引用不存在,因为WsTempl1RefDef不包含也没有外部引用,例如像WbTempl2.Names("project").refersTo="C:\\WbTempl1.xls]'WsTempl1RefDef!A1"
    • contains sheet WsTempl2RefUsr (uses inexisting global references, eg =project ) 包含工作表WsTempl2RefUsr (使用不存在的全局引用,例如=project

and wanted to create a WbDst to copy WsTempl1RefDef and WsTempl2RefUsr into it. 并希望创建一个WbDst来将WsTempl1RefDefWsTempl2RefUsr复制到其中。


The following did not work : 以下不起作用

  1. create workbook WbDst 创建工作簿WbDst
  2. copy sheet WsTempl1RefDef into it (references were locally created) WsTempl1RefDef复制到其中(引用是在本地创建的)
  3. copy sheet WsTempl2RefUsr into it WsTempl2RefUsr复制到其中

Here as well the Ctrl ( SHIFT ) ALT F9 nor Application.CalculateFullRebuild worked on WbDst . 在这里, CtrlSHIFTALT F9Application.CalculateFullRebuildApplication.CalculateFullRebuildWbDst


The following worked : 以下工作

  1. create workbook WbDst 创建工作簿WbDst
  2. move (not copy) sheet WsTempl1RefDef into WbTempl2 WsTempl1RefDef 移动(不复制)WbTempl2
    • (we do not have to save them) (我们不必保存它们)
  3. copy sheet WsTempl1RefDef into WbDst WsTempl1RefDef复制到WbDst中
  4. copy sheet WsTempl2RefUsr into WbDst WsTempl2RefUsr复制到WbDst中

I had a similar issue with a VLOOKUP. 我有一个与VLOOKUP类似的问题。 The field I was using to VLOOKUP was formatted as a custom field. 我用于VLOOKUP的字段被格式化为自定义字段。 Excel was saying it was a number stored as text. Excel说这是一个存储为文本的数字。 Clearing this error (selecting all fields with the error, beginning with the first one with the error and clicking change to Number even though I didn't really want it to be!) fixed it. 清除此错误(选择带有错误的所有字段,从第一个带有错误的字段开始,然后单击“更改为数字”,即使我真的不想要它!)修复它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM