ExcelVBA Application icode9 对象介绍


Application icode9 对象代表Excel程序本身,它就像一棵树的根,Excel中所有的对象都以它为起点。实际编程时,会经常用到它的许多属性和方法。

1.用ScreenUpdating属性设置是否更新屏幕上的内容

在使用Excel解决一个问题时,往往需要执行多步操作或计算。无论是通过手动还是VBA代码完成这些操作,默认情况下,Excel都会将每步操作所得的结果显示在屏幕上。

Application对象的ScreenUpdating属性就是控制屏幕更新的开关,将该属性设置为False,Excel将会关闭屏幕更新。

Application.ScreenUpdating=False   关闭屏幕更新

Application.ScreenUpdating=True  重新开启屏幕更新

如果在程序中将ScreenUpdating属性设置为False,一定要记得在程序结束前将其重新设置为True,否则后面执行的程序也不会更新屏幕上的内容。

2.设置DisplayAlerts icode9 属性禁止显示警告对话框

当我们在Excel中执行某些操作,如删除工作表时,Excel会显示一个警告对话框,让我们确定是否需要执行这个操作,如图1所示。

图1 删除工作表时显示的警告对话框

出于很多原因,我们都希望Excel在程序执行的过程中,不显示警告对话框,这可以通过设置Application对象的DisplayAlerts属性为False来实现。

在下面示例代码中,如果不写第2行代码,那么在执行程序中,每删除一个工作表,就会弹出一次警告框,而且只有点击【删除】按钮才会执行删除操作。如果要删除100张工作表,就需要点击【删除】按钮100次。

Sub DelSht_2(icode9)
     Application.DisplayAlerts = False           设置不显示警告对话框
     Dim sht As Worksheet
     For Each sht In Worksheets
         If sht.Name <> ActiveSheet.Name Then  判断sht引用的是否是活动工作表
             sht.Delete                        删除sht引用的工作表
         End If
     Next sht
     Application.DisplayAlerts = True            重新设置显示警告对话框
 End Sub

如果在程序中将DisplayAlerts属性设置为False,一定要记得在程序结束前将其重新设置为True,否则后面执行任何操作都不会弹出警告对话框。

3.借助WorksheetFunction属性使用工作表函数

常用的工作表函数,如SUMIF、VLOOKUP、MATCH和COUNTIF等函数VBA中没有,但是可以使用Application对象的WorksheetFunction属性来调用这些函数。

图2 编写代码统计A1:B50单元格区域中大于1000的数据个数

如想统计图2中A1:B50单元格区域中大于1000的数值有多少个,代码可以写为:

Sub CountTest_2()
     Dim mycount As Integer icode9
     mycount = Application.WorksheetFunction.CountIf(Range("A1:B50"), ">1000")
     MsgBox "A1:B50中大于1000的单元格个数为:" & mycount
 End Sub

注:如果VBA中已经有了相同功能的函数,就不能再通过WorksheetFunction属性

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/292340.html

(0)
上一篇 2022年10月30日 18:10
下一篇 2022年10月30日 18:10

相关推荐

发表回复

登录后才能评论