【发布时间】:2019-09-27 08:14:08
【问题描述】:
我想将单元格的默认值设置为自定义函数的结果。
一旦单元格具有它的价值,它就永远不能改变。
我该怎么做:
测试调用单元格是否有值?从我所见,如果您测试
Application.Caller.Value,它会重新评估再次调用该函数的单元格。 我试过传入当前值,但它都是循环的=myFunc(A1)。设置值后立即删除该函数。我试过
Cell.Value = Cell.Value,但它只是再次调用该函数。锁定单元格,或者设置为
read-only,添加某种不再计算我的标志。
重现问题 -
将一堆单元格设置为=NOW(),然后稍等片刻,换一个单元格,你会注意到所有单元格都更新到现在,我希望我的函数只运行一次。
感谢所有输入
【问题讨论】:
-
您将无法通过用户定义的函数实现您想要做的事情。您应该查看
Worksheet_Change事件。这些将让您检查已更改的单元格是否包含特定值,然后锁定该单元格或您希望对该单元格执行的任何其他操作。