我们可以在不从单元格中移动光标的情况下执行公式吗?将数据输入到输入单元格后,我们按下回车键或从该单元格移动,然后执行与该单元格相关的任何公式。有没有什么方法可以在输入输入时看到excel中的输出结果?请帮助我找到这个选项。
问问题
722 次
2 回答
2
我不相信在单元格的“编辑器”具有焦点和控制权时执行代码是可能的。例如,在编辑公式时尝试在 Excel 中执行其他操作。我相信单元格必须在代码执行之前完成保存其值或公式。
您可以有一个公式“监听”单元格何时更新,但这有点复杂。一旦更新,它可能会强制您返回原始单元格。这是您如何编写一些代码来“监听”单元格值何时更改的方法。在以下示例中:
- 我将 Cell 的值记录
I1
到strValue
. - 然后我运行一个循环,只要单元格的值
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 回答