WorkSheet和workSheets的关系:workSheet是单个工作表,workSheets是指定工作簿中所有工作表的集合。
对象名称与工作表名称:每个工作表都有两个名,工作表名或者标签名称即看到的工作表的名称,如“sheet1”、“工资表”,对象名称或者代码名称,一般只为“sheet1”,“sheet2”这种形式,可以在工程资源管理器和属性窗口里面看到。
在使用多过程中,我们多使用的是代码名称,工作表名称的修改不会影响代码名称,在属性窗口里可以修改代码名称,但建议不要修改代码名称。
怎么引用工作表:
1. 利用工作表的索引号或者标签名称引用;
如:
索引号是指定工作簿里第几张工作表,如上图“第二张表”的索引号为2,标签名称为“第二张表”。引用格式如下:
Worksheets.Item(2) ‘引用工作簿中第二张工作表
Worksheets(2) ‘ 如上
Worksheets(“第二张表”) ‘引用名为“第二张表”的工作表
2. 利用代码名称引用
直接使用代码名称引用,如操作表代码名称为sheet1表中的单元格:
Sheet1.Range(“D2”).Value=12 ‘在sheet1中D2单元格输入12
如要查看当前工作表的代码名称,则:
Msgbox ActiveSheet.CodeName
方法:
Add方法:插入一张新的工作表,格式和参数如下:
当前活动工作表是“第二张表”,我在立即窗口里新建一张表,出现了名为sheet1的工作表,在活动工作表前面,同时它的代码名称为sheet4。
加入参数:before|after:指定放在某一工作表前或后
worksheets.Addafter:=worksheets(3),这一句在当前工作簿中效果一样。
使用count指定插入工作表的数量:
Worksheets.Add after := Worksheets(3) , Count:=3
‘在索引号为3 的工作表后插入3张工作表,多个参数要用逗号隔开
另外补充,count可用于计数,代码“Worksheets.Count”返回值即为活动工作簿中的工作表数量。
Delete方法:删除工作表
直接删除:Worksheets(”sheet1”).delete
删除名为“sheet1”的工作表,这里是标签名称。
激活工作表:Activate和select方法
Worksheets(1).Activate ‘激活第一张工作表
Wprksheets(1).Select ‘选中第一张工作表
两者区别在于:select可以同时选中多个工作表,而Activate不能同时激活多个工作表;Select不能选中被隐藏的工作表,但Activate可以激活被隐藏的工作表。
Copy方法:
直接复制和使用方法的格式一致,不过需要注意,工作表复制后会直接展示出来,而不是让你还要粘贴,因此需要考虑存放的位置。
Eg:
Worksheets(“去你的表”).Copy before:=Worksheets(”第二张表”)
效果如上。而且复制得到的表总是活动工作表,标签名称改变。
如果不使用before|after参数,则会复制到新的工作簿,Excel会打开一个新的工作簿,工作表名称不变。
Move方法:移动工作表
Worksheets(“第一张表”).Move After(Before) := Worksheets(“第二张表”)
‘将“第一张表”移动到“第二张表”后面
Worksheets(“第一张表”).Move
‘将“第一张表”移动到新的工作簿中
属性:
Name属性:
直接使用(Worksheets(2).Name=”新的工作表名”),来更改第二张表的标签名称。
如果是用代码新建的工作表,可以在新建后加上
(ActiveWorksheet.Name=”新的工作表名”)进行修改,因为新建的工作表总是活动工作表。
也可以在新建时命名:
用下面的形式新命名也可以:(第二句)
Visible隐藏属性:
Worksheets(“第一张表”).Visible = False(或者是xlSheetHidden/0)
三个值都是隐藏。此方法等同于“视图”选项卡中的“隐藏”功能(office365)。
下面两种则不能通过“隐藏”功能修改回来。
Worksheets.(“第一张表”).Visible = xlSheetVeryHidden(或者是“2”)
属性窗口里:
如果要通过代码显示工作表,等号后面的参数改为:True、xlSheetVisible、1、-1。