除非按Enter键,否则Excel不会更新值

时间:2015-07-08 13:15:03

标签: excel vba excel-formula cell enter

我在工作簿中的一个工作表中遇到了一个非常烦人的问题。我正在使用EXCEL 2007.除非我按ENTER键,否则不会更新任何单元格的值。如果单元格中的公式包含if条件,或VLOOKUP函数或甚至AVERAGE函数。所有计算都设置为自动,Application.Calculation = xlAutomatic,甚至启用特定工作表的计算,如:ws.EnableCalculation = TRUE。

此外,ScreenUpdating设置为TRUE。在我按下ENTER或我向右拖动后,单元格将被更新,如果我做了任何更改,它们将不断更新。但是,保存文件并再次重新打开后,它们将再次冻结。我还没弄清楚他们什么时候会再次停止更新。所有格式设置为常规或数字。

特别是在IF条件下,当我通过评估功能检查计算时,结果是正确的,但不会在屏幕上传递。

有什么建议吗?这件事让我发疯。

8 个答案:

答案 0 :(得分:12)

听起来您的工作簿已设置为“手动计算”。您可以转到公式>将其更改为自动。计算>计算选项>自动的。

Location in Ribbon

手动计算可用于减少计算量并提高具有大量公式的工作簿中的响应能力。我们的想法是,您可以查看数据并进行更改,然后选择何时使计算机完成计算工作。

答案 1 :(得分:12)

执行摘要/ TL; DR:
尝试做一个发现&用“=”替换“=”。是的,用自己替换等号。对于我的场景,它强制一切都要更新。

背景:
我经常在多个列中创建公式,然后将它们连接在一起。在这样做之后,我将复制&将它们粘贴为值以提取我创建的公式。在此过程之后,除非我进入单元格并按Enter键,否则它们通常会显示公式而不显示值。按F2&反复输入并不好玩。

答案 2 :(得分:4)

我在这里遇到同样的问题:mrexcel.com/forum/excel-questions/318115-enablecalculation.html Application.CalculateFull卖掉了我的问题。但是我担心这会再次发生。我会尽量不再使用EnableCalculation

答案 3 :(得分:2)

这听起来并不直观,但选择您遇到问题的列并使用“text to column”并按完成。这也是Excel帮助中的建议答案。出于某种原因,将文本转换为数字。

答案 4 :(得分:2)

选择所有数据并使用选项" Text to Columns",这将允许您的数据应用数字格式 ERIK

答案 5 :(得分:1)

发现问题,在尝试此操作之前无法找到解决方案。

  1. 从“开发人员”选项卡中打开Visual Basic(或右键单击任何工作表 然后点击“查看代码'”
  2. 在左上方面板中,选择' ThisWorkbook'
  3. 在左下方的面板中,找到' ForceFullCalculation'属性
  4. 将其改为' False'到了真的'并保存
  5. 我不确定这是否有任何副作用,但现在对我有用。

答案 6 :(得分:0)

我以前遇到过这个问题。我怀疑是你的一些单元格链接到其他工作表,其他工作表正在返回#NAME?最终当前工作表不能进行计算。

尝试解决其他已链接的工作表

答案 7 :(得分:0)

我也遇到了这个问题。在我的例子中,在任何内部函数周围添加括号(以使它们首先进行评估)似乎可以解决这个问题:

更改

=SUM(A1, SUBSTITUTE(A2,"x","3",1), A3) 

=SUM(A1, (SUBSTITUTE(A2,"x","3",1)), A3)