0

我们可以在不从单元格中移动光标的情况下执行公式吗?将数据输入到输入单元格后,我们按下回车键或从该单元格移动,然后执行与该单元格相关的任何公式。有没有什么方法可以在输入输入时看到excel中的输出结果?请帮助我找到这个选项。

4

2 回答 2

2

我不相信在单元格的“编辑器”具有焦点和控制权时执行代码是可能的。例如,在编辑公式时尝试在 Excel 中执行其他操作。我相信单元格必须在代码执行之前完成保存其值或公式。

您可以有一个公式“监听”单元格何时更新,但这有点复杂。一旦更新,它可能会强制您返回原始单元格。这是您如何编写一些代码来“监听”单元格值何时更改的方法。在以下示例中:

  • 我将 Cell 的值记录I1strValue.
  • 然后我运行一个循环,只要单元格的值I1没有改变,它就会一直运行。
  • DoEvents命令将控制权释放回处理器,这使您可以在 Excel 运行时使用它。
  • 一旦单元格的值I1发生变化,该While语句将为假,循环将退出。
  • 循环退出后,会弹出一个消息框,告诉您值已更改,然后再次选择原始单元格。

'

Sub testChange()
Dim strValue As String

strValue = Range("I1").Value

Do While strValue = Range("I1").Value
    DoEvents
Loop

MsgBox "The value changed!"
Range("I1").Activate
End Sub

也许如果您只是想在每次值更改时将控制权返回到原始单元格,您可以使用上面没有消息框的行,并在您的方法执行后返回循环。请记住,如果您这样做,您可能必须找出另一种退出代码的方法。

为什么要让它在单元格内执行?你的任务的最终目的是什么?

于 2009-11-26T04:33:42.297 回答
0

按 F9 进行重新计算,而不从输入单元格移动。这适用于 Excel 2007。我不确定早期版本。

于 2009-12-07T01:59:28.290 回答