大家好,前面介绍了最常用的单元格Range对象,本节开始介绍Worksheet工作表对象的相关内容(基础内容已有涉及),后续会再分别介绍它的属性、方法以及事件等内容。
一、Sheet和Worksheet区别
前面对象概述时,已经介绍过sheet和worksheet对象的区别,简单复习一下。使用插入工作表时,弹出的对话框可以发现有有很多种工作表样式,即各种类型的工作表sheet对象,比如图表。
而通常通过的新增来添加的sheet1、sheet2、sheet3都是普通工作表,就是worksheet对象,所以sheet对象包含worksheet对象。
worksheet对象是通常使用的对象。
二、工作表对象集合
在vba代码中,单个对象与对象集合都常用到,工作表对象集合sheets和worksheets集合用于批量处理的情况。
复习下前面学过的内容:对象集合也是一种特殊类型的对象,代表一组相同的对象。使用集合时即在该集合的所有对象上执行相同的操作。集合也有对应的属性和方法。比如之前介绍过集合的count属性,用于统计集合中单个对象的数量。
三、工作表对象的引用
对于worksheet工作表对象表示方法在对象概述时已介绍过,主要有三种方式,分别通过工作表的三个属性来表示。分别是name属性、索引号index属性、工作表对象名称codename属性。
1、worksheets("工作表的name")
工作表的name属性,就是通常通过重命名来修改的下方标签中的工作表名称,如下图的“表格1”“”汇总表“等。对应的工作表就可以表示为worksheets("表格1")和worksheets(“汇总表")等。
2、worksheets(索引号index号)
对象索引index号即对象在集合中的顺序,与对象的名称无关,工作表对象是排列的顺序。比如依次排列的表格1、表格2、汇总表,就可以分别表示为worksheets(1)、worksheets(2)和worksheets(3),再新建工作表后,默认名称为“sheet4"。它的index索引号是4,可以表示为worksheets(4)。
3、工作表对象名称codename
在新增工作表时,excel会默认新增工作表name和对象名称codename相同。在日常使用时通常会更改工作表的name属性,比如上图“表格1”表格2和汇总表等。但工作表codename属性还保持不变,即sheet1,sheet2和sheet3。所以在引用工作表时也可以直接使用工作表对象名称codename。例如汇总表可以直接用sheet3来表示。
codename属性是只读,通常较少去更改它,但它可以工作表的属性窗格中去更改。(点击vba工程中的sheet1,下侧会显示工作表sheet1的属性窗格,(名称)就是codename,就可以手工修改(建议没有需求不要更改)。
下面以汇总表的三个单元格赋值为例来演示下,用三种方式分别来引用汇总表。
三种引用方式都表示“汇总表”,主要注意区分name属性和codename属性的不同。
四、Activesheet
Activesheet工作表是指当前活动的工作表。
在使用excel时,通常都是在工作簿的一个工作表worksheet中进行编辑。即该工作表当前是被激活的状态,使用activesheet来表示。
由于activesheet是一个工作表对象,所以引用时就需要注意对象模型的存在。即它头上的两座大山application主程序(通常省略)和workbook对象。当只有一个工作簿时候,两者均可以省略,但如果有两个以上工作簿,通常需要在activesheet前面指定workbook对象。
下面举例说明,来获得当前工作表即activesheet的name、索引号lindex、和codename三个属性。
代码中省略了application对象,保留了workbook对象,通过指定workbook来避免无关的工作簿的影响。获得当前活动的工作表的name属性、index索引号属性、codename属性。
如果确保只有一个工作簿打开,可以将代码中的workbook对象省略。(涉及之前对象模型的知识点)
Sub test()
Dim i, h As String, j As Integer
i = ActiveSheet.Name
j = ActiveSheet.Index
h = ActiveSheet.CodeName
Debug.Print "名称为" & i & " 索引号为" & " codename为" & h
End Sub
五、属性和方法
对于工作表对象的属性和方法会在后续详细介绍,下面仅简单汇总下前面已经提过的方法和属性。
工作表的add方法,即添加新的工作表。(VBA对象方法概述)
worksheets集合的count属性,即统计工作表集合中工作表对象的数量。(VBA方法概述)
工作表的name属性,获得工作表名称
工作表的index属性,获得工作表索引号
工作表的codename属性,获得工作表的对象名称。
工作表的usedrange属性,表示工作表中使用过的单元格。(单元格常用属性篇四)
由于相关内容难度不大,这里不再重复介绍,可通过链接查看原文。
本节主要介绍了工作表对象的引用方法。涉及前面介绍过的内容,可以通过链接查看之前的文章。后续将依次介绍工作表对象常用的属性和方法,以及事件等内容,祝大家学习快乐。