常用对象之Application

对象就是我们Excel和程序的操作对象。比如单元格、工作簿。我们对于Excel的每个操作其实都是对相应对象的操作。比如选中单元格、保存工作表。

对象存放在对象模型里,2013以上版本似乎已经没有离线文档,只有在线的:https://msdn.microsoft.com/ZH-CN/library/ff194068.aspx

每个对象又有自己的属性和方法,最后构成完整的事件。

记住常用对象:

Application对象:

代表的是Excel的整个程序,所以是最上层。

ScreenUpdating属性

Application.ScreenUpdting=True  (默认为真),作用在于,当程序有多个计算步骤时,VBA默认是每一个计算结果一个显示,改为false后,可以让程序执行完后再显示结果,可以提高程序效率。(虽然感觉没啥用)

对比以下两段程序:

第一段代码中,程序有四步,按顺序执行和显示。

第二段代码中,四个步骤按顺序执行,最后一步将结果同时展示。

 

DisplayAlerts属性

看到Alert这个词大概知道是干嘛的了。

一个删除工作表的程序:

在运行程序后,会弹出一个警告对话,询问是否删除工作表,十分影响效率。

(虽然我依然觉得没啥实用的,我的工作表还不会多到需要用代码来删除)

如果在最初加上:

Application.DisplayAlerts=False  (默认为True)

则不会显示警告,直接执行操作。同样的,在最后记得将默认值修改为true。

 

EnableEvents属性

此属性用于启用或禁止事件。

这里的事件多指在程序中的某一个可执行操作,代码,比如选中单元格。同样的,我们如果要禁止某一事件执行,在他的代码行前面加上:

Application.EnableEvents=False

同样记得后面改回默认值True。

 

WorksheetFunction属性

介于VBA中很多函数都没有,(之前连SUM都没有用)使用这个属性可以调用部分工作表函数,

比如我要计算A1到A10间的求和,在VBA中,

第一种,直接使用函数:

Cells(25, "A") = "=sum(A1:A10)",就相当于将公式写入单元格,不过没必要。

第二种,调用属性:

 Cells(25, "A") =Application.WorksheetFunction.Sum(Range("A1:A10"))

记住这里需要结合Range,选择求和区域。

另外,如果VBA中已有的函数(不多),不能用这种方式调用。

                                            Application的常用属性

 

posted @ 2017-02-09 20:12  隔壁老任  阅读(733)  评论(0编辑  收藏  举报