【发布时间】:2019-02-04 13:34:30
【问题描述】:
我正在编写一个“课程”,以帮助用户了解某些做法如何不必要地标记 Excel 单元格以进行计算。
我知道Dirty 方法可用于标记要在 VBA 中计算的单元格。有没有办法确定特定单元格是否被标记为计算(在 VBA 中)?
我希望能够遍历工作表中的单元格并突出显示需要重新计算的单元格。我希望用户能够直观地检查由于某个操作而创建了多少脏单元。
【问题讨论】:
-
' 强制重新计算范围 A3。 ` Application.Range("A3").Dirty ` MsgBox "尝试关闭文件而不保存,会出现一个对话框。"
-
?ThisWorkbook.Saved 如果未更改,则返回 True,如果已更改,则返回 False。
-
@skkakkar 这两个都不会让您找出必须计算哪些单元格。
-
@PEH 这里有一个识别脏单元的参考 stackoverflow.com/questions/50817709/…>
-
@skkakkar
Worksheet_Change只能确定哪些单元格常数发生了变化,但不能确定哪些单元格公式在重新计算时会发生变化。所以这不会给你脏单元格,而只会给你值(常量)改变的单元格。