对于熟悉Excel对象模型的人来说,也许会觉得到目前为止所的内容都太小儿科了。确实,我也有这种感觉。解这些基础的东西对于有一定Excel VBA编程功底的人来说,太枯燥了!所以,多些图文,多些趣味,赶走枯燥。
同时,既然是完整的系列文章,我还是得从最简单的东西开始,基于不熟悉Excel VBA的朋友,从基本的知识点解,由浅入深,慢慢地让他们在无形中就会步入Excel VBA编程技术的殿堂。
另一方面,作为一个完整的系列,也应该从基础起,慢慢地开始涉及到更深入更实际的知识和实践。这会给熟悉Excel VBA的朋友带来一个完整的框架,为他们理清思路的同时,也会给他们带来原来忽视的东西。
随着系列的深入,后面会越来越精彩!
下面继续解上一节中未完的内容:Excel VBA编程中常常使用的那些对象到底是什么,如何在代码中表示它们。
Worksheet对象
Worksheet对象代表工作表。工作簿中的每个工作表都是一个Worksheet对象,所有Worksheet对象构成了Worksheets集合。
我们使用下面的这一张图来完整解析Worksheet对象,如下所示。
工作表的名称
如所示,上面是Excel主界面,下面是VBE界面。新建工作簿后,Excel为我们提供了1-3个默认工作表(Excel 2013中默认为1个工作表)。工作表名称默认为Sheet1、Sheet2、Sheet3。我们可以在Excel中更改工作表的名称,例如中在工作表名称中双击,将默认的名为“Sheet1”的工作表改名为“ Excel”。
再看看VBE界面,在左侧的工程资源管理器的“Microsoft Excel对象”文件夹下,Excel有几个工作表,就会有几个相对应的工作表代码模块,中是3个。在代码模块标识中,例如Sheet1( Excel),左侧的“Sheet1”是相应工作表的对象名称,右侧括号中的“ Excel”是工作表名称,也就是我们在Excel主界面工作表标签中看到的名称。
也就是说,一个工作表有两个名称,一个称为“工作表名”,在Excel主界面中可以看到和修改;另一个称为“工作表对象名”,只能在VBE界面中看到,也可以在VBE中修改。
如何在代码中表示某工作表
按照前一篇文章中归纳出来的公式,要表示某工作表,一般只需要在Worksheets集合中指定工作表名称或索引号即可,例如要在代码中指定“ Excel”工作表,可以:
1、使用工作表名称:
Worksheets(“ Excel”)
2、使用工作表索引:
Worksheets(1)
此外,由于工作表还有一个对象名称,因此还可以使用其对象名来指定“ Excel”工作表,即:
3、使用工作表对象名:
Sheet1
ActiveSheet属性
ActiveSheet属性是Workbook对象的一个属性。使用ActiveSheet属性可以获取代表当前正在使用的工作表对象。