bingdaoice 发表于 2021-2-7 13:53:23

有公式的单元格,如何在计算结果改变时触发事件?

请问有公式的单元格,1、如何在计算结果改变时触发事件?
2、并获取改变结果前的值?
我测试过。Data_Changed、CellChanged、Change、EditChange都不能获取。





KevinChen 发表于 2021-2-7 14:16:16

您好,问题已收到,感谢反馈,预计明天给您答复。

Richard.Ma 发表于 2021-2-9 01:47:24

你好,目前确实没有事件可以触发公式单元格的值变化,我会和研发再确认看看有没有其他的办法,然后给你回复

bingdaoice 发表于 2021-2-18 08:47:56

Richard.Ma 发表于 2021-2-9 01:47
你好,目前确实没有事件可以触发公式单元格的值变化,我会和研发再确认看看有没有其他的办法,然后给你回复
感谢版主,凌晨了都还在处理问题。

KevinChen 发表于 2021-2-18 09:26:52

感谢您的反馈,有问题欢迎继续留言交流~

bingdaoice 发表于 2021-2-23 09:01:31

本帖最后由 bingdaoice 于 2021-2-23 09:29 编辑

请问这个问题有其它的办法吗?能不能单元格公式值改变时触发一下EditChange这个事件。
因为EditChange这个事件就可以“获取改变结果前的值”。

Richard.Ma 发表于 2021-2-23 12:20:50

这个没有办法,目前唯一的办法是Sheet的CellChanged事件,来获取一个变化的范围,在里面去找公式单元格,如下图,获取的是一个单元格范围(Rowcount,Columncount),公式单元格值发生变化也会包含在内



bingdaoice 发表于 2021-2-23 16:43:21

Richard.Ma 发表于 2021-2-23 12:20
这个没有办法,目前唯一的办法是Sheet的CellChanged事件,来获取一个变化的范围,在里面去找公式单元格,如 ...

“目前唯一的办法是Sheet的CellChanged事件,来获取一个变化的范围,在里面去找公式单元格,如下图,获取的是一个单元格范围(Rowcount,Columncount),公式单元格值发生变化也会包含在内”
没太明白这句话,我使用了CellChanged,但只能在手动改变值的单元格触发。
公式的单元格没有触发。
请问有什么方法可以达到“有公式的单元格值改变时触发一个事件”?

Richard.Ma 发表于 2021-2-23 16:52:33

本帖最后由 Richard.Ma 于 2021-2-23 16:57 编辑

以下图为例,B9=B1+B2+1,此时,改变B1,则触发的事件里,Row=0,Rowcount=9,Column=1,Columncount=1,也就是说,这个范围内有单元格发生变动,如果是此例中只有一个公式引用B1的话,那么肯定除了(1,1)单元格外,就是公式单元格(9,1)发生了变化当然如果是有多个公式引用B1的话,那么还会有单元格在这个范围里面,这个目前没有办法可以判断

如果改变的是B9单元格的公式本身,那么触发的此事件里,会是Row=8,Rowcount=1,Column=1,Columncount=1



bingdaoice 发表于 2021-2-24 10:29:45

本帖最后由 bingdaoice 于 2021-2-24 10:32 编辑

Richard.Ma 发表于 2021-2-23 16:52
以下图为例,B9=B1+B2+1,此时,改变B1,则触发的事件里,Row=0,Rowcount=9,Column=1,Columncount=1,也 ...
好的。
请问能不能在新版本加上“让单元格公式值改变时触发一下EditChange这个事件”?或者“单元格公式值改变时触发一个事件”?
其实只要触发一个事件,我们就可以做一些操作了。

页: [1] 2
查看完整版本: 有公式的单元格,如何在计算结果改变时触发事件?