本文主要是介绍ExcelVBA Application对象介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Application对象代表Excel程序本身,它就像一棵树的根,Excel中所有的对象都以它为起点。实际编程时,会经常用到它的许多属性和方法。
1.用ScreenUpdating属性设置是否更新屏幕上的内容
在使用Excel解决一个问题时,往往需要执行多步操作或计算。无论是通过手动还是VBA代码完成这些操作,默认情况下,Excel都会将每步操作所得的结果显示在屏幕上。
Application对象的ScreenUpdating属性就是控制屏幕更新的开关,将该属性设置为False,Excel将会关闭屏幕更新。
Application.ScreenUpdating=False '关闭屏幕更新Application.ScreenUpdating=True '重新开启屏幕更新
如果在程序中将ScreenUpdating属性设置为False,一定要记得在程序结束前将其重新设置为True,否则后面执行的程序也不会更新屏幕上的内容。
2.设置DisplayAlerts属性禁止显示警告对话框
当我们在Excel中执行某些操作,如删除工作表时,Excel会显示一个警告对话框,让我们确定是否需要执行这个操作,如图1所示。
图1 删除工作表时显示的警告对话框
出于很多原因,我们都希望Excel在程序执行的过程中,不显示警告对话框,这可以通过设置Application对象的DisplayAlerts属性为False来实现。
在下面示例代码中,如果不写第2行代码,那么在执行程序中,每删除一个工作表,就会弹出一次警告框,而且只有点击【删除】按钮才会执行删除操作。如果要删除100张工作表,就需要点击【删除】按钮100次。
Sub DelSht_2()Application.DisplayAlerts = False '设置不显示警告对话框Dim sht As WorksheetFor Each sht In WorksheetsIf sht.Name <> ActiveSheet.Name Then '判断sht引用的是否是活动工作表sht.Delete '删除sht引用的工作表End IfNext shtApplication.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 Integermycount = Application.WorksheetFunction.CountIf(Range("A1:B50"), ">1000")MsgBox "A1:B50中大于1000的单元格个数为:" & mycountEnd Sub
注:如果VBA中已经有了相同功能的函数,就不能再通过WorksheetFunction属性引用工作表中的函数,否则会出错。并且,不是所有的工作表函数都能通过WorksheetFunction 属性来调用。
微信公众号:VBA168
淘宝店铺地址:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-21233576391.4.1af0683dzrx3oU&id=584940166162
关注微信公众号,每天及时接收Excel VBA经典示例讲解。
淘宝店铺提供Excel定制服务。
祝你工作和学习更轻松!
这篇关于ExcelVBA Application对象介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!