在VBA中重新计算单元格或范围的不同方法

第一种方法是build议在VBA的答复中 可以重新计算一个单元格或一个范围 :

Range("A1").Calculate 

第二种方法是如何让Excel从VBA中刷新数据表中的数据? 的答复 :

 Cells(RowA,ColB).Formula = Cells(RowA,ColB).Formula 

第三个

 Range("XXX").Value = Range("XXX").Value 

似乎也工作。

三者之间有什么区别?

  1. 。计算:通知Excel重新计算给定范围内的公式。 我不认为这适用于UDF,除非使用Application.Volatile

  2. 。公式:在给定范围内重新公式。 类似于点击进入单元格,然后按下input而不进行更改。 如果您的范围大于一个单元格,将会失败。

  3. .Value:用值覆盖公式。 类似于复制/粘贴值。 如果您的范围大于一个单元格,将会失败。