ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ExcelVBA Application icode9 对象介绍

2022-10-30 14:05:09  阅读:184  来源: 互联网

标签:Excel application


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属性

标签:Excel,application
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有