体验零代码搭建

excel图表中Dirty有什么作用?

网友投稿  ·  2023-11-25 18:11  ·  行业资讯  ·  阅读 703


Q在Excel VBA代码中,我有时会看到Range对象的Dirty方法,能够说明一下该方法的作用吗?

Q在Excel VBA代码中,我有时会看到Range对象的Dirty方法,能够说明一下该方法的作用吗?

excel图表中Dirty有什么作用?

A:Dirty方法与工作簿重新计算有关,指定下次重新计算发生时,需要进行重新计算的单元格区域。

通常,Calculate方法强制重新计算指定的区域,此时Microsoft Excel知道需要重新计算的单元格。

然而,如果Excel设置为手动计算模式,就可以使用Dirty方法指示Excel识别要重新计算的特定单元格。如果Excel本来就处于自动计算模式,使用Dirty方法将指示Excel执行重新计算。

下面是官方文档给出的一个示例。

Sub UseDirtyMethod()

MsgBox “输入两个值和一个公式.”

Range(“A1”).Value = 1

Range(“A2”).Value = 2

Range(“A3″).Formula =”=A1+A2”

‘ 保存对工作表的改变

Application.DisplayAlerts = False

ActiveWorkbook.Save

MsgBox “修改已保存.”

‘ 强制对单元格A3进行重新计算.

Application.Range(“A3”).Dirty

MsgBox “试图关闭文件而不保存,将出现一个对话框.”

End Sub

代码先在工作表中输入数据后进行了保存,然后强制对单元格A3进行重新计算,此时表现上看工作簿没有发生变化,但Excel认为重新计算后工作簿已经发生了变化,如果不保存而关闭工作簿,就会出现如下所示的警告信息框。

上面是在Excel处于自动重算模式时的结果。如果Excel处于手动重算模式,也可以使用Dirty方法发挥重新计算功能。

例如,在单元格B3中输入公式:

=RAND()

在VBE中输入如下的代码:

Sub testDirty()

‘设置工作簿计算模式为手动重算

Application.Calculation =xlCalculationManual

‘在工作表中输入数据使工作表发生变化

Range(“C3″).Value = ” Excel”

Range(“C4”).Select

‘强制重新计算单元格B3

Range(“B3”).Dirty

‘保存当前工作簿

ActiveWorkbook.Save

End Sub


打开excel工作簿后自动跳转到当前日期所在列? << 上一篇
2023-11-25 18:11
如何理解Excel公式中的各种符号?
2023-11-25 19:11
下一篇 >>

相关推荐