发布网友 发布时间:2022-05-09 18:24
共4个回答
热心网友 时间:2023-10-12 12:14
在function开始处加一句,Application.Volatile,用此句讲自定义函数设置为易失性函数,这样才能保证数据发生变化时,函数重新计算。热心网友 时间:2023-10-12 12:15
在自定义函数代码前加一行追答这里贴上微软官方APPLICAITON.VOLATILE的解释
Application.Volatile 方法 (Excel)
将用户定义函数标记为易失性。每当在工作表中任何单元格中进行计算的时间,必须重新计算可变函数。仅当输入的变量更改时重新计算非易失性函数。如果它不在用户定义的函数用于计算的工作表中的单元格,则此方法将不起作用。
看你这种情况是通过进程改变全局变量,想让单元格中自定义函数返回新的变量值
这样的话建议在修改设置全局变量的进程中
加个工作表重算方法
ActiveSheet.Calculate
将活动工作表重算
热心网友 时间:2023-10-12 12:15
把这个函数的调用写进WORKSHEET_CHAGE事件中。热心网友 时间:2023-10-12 12:16
只是需要触发重算,是数值的话,用“查找”“替换”,在函数后面加一个“+0”,就OK,只需要一部分数据重算,那就选中那部分数,用“查找”“替换”加一个“+0”