VBA 学习(10)
Range的直属上司:sheet(工作表)这一节非常的好理解,就是我们新建一个Excel之后打开看见的三个表...
Range的直属上司:sheet(工作表)
这一节非常的好理解,就是我们新建一个Excel之后打开看见的三个表单。它作为Range的上司来说并不像Range那样有很多的方法、属性,相反,我们常用到的有关sheet的属性并不多,如下图:
name,顾名思义就是工作表的名称,表示工作表名称的方法也有很多种,各有各的不同,各有各的用途,下面介绍常用的两种引用和设置工作表名称的方法。
1、sheet + 表名称
这种方法引用工作表名称时需要注意表名称要用双引号引起来,例如:sheets("sheet1"),表明引用的是表1,不管表1在哪个位置
,vba都会找的到它的,下面我们利用这种方法设置工作表的名称,还在上张表中增加一个按钮,代码如下:
Private Sub CommandButton1_Click()
Sheets("sheet1").Name = "表1"
End Sub
2、sheet + 表顺序号
这种方法是要用sheet+工作表在工作簿中的位置号引用的,例如:sheets(1),表明引用工作簿中的第一张工作表,这个引用只对位置起作用,也就是不管表1是什么,有没有内容,名称是什么都可以利用它表示,同样的更改表名称,我们使用这种方法试试,代码:
Private Sub CommandButton1_Click()
Sheets(1).Name = "表1"
End Sub
代码执行后,效果和方法1是一样的,此处不再上图。下面两张图是讲解这两种方法的区别,各位一定要区分开来:
visible
visible是一个是/否的判断,就是说某张表的可见设置,如果你想在Excel打开时候不想显示sheet1表,可以这样设置:双击thisworkbook,选取workbook的open方法,写入代码:
Private Sub Workbook_Open()
Sheets(1).Visible = False
End Sub
保存然后从新打开此工作簿,我们就会发现sheet1不见了,是因为我们在Excel打开时候设置了表sheet1的可见为假!如果想让它回来,则设置可见为TRUE即可!Range和cells
还记得上节我们讲的Range么?其实range(以后会写range=Range,因为还要大小写转换,太麻烦了)是相对的,就是说这个range只属于某一张sheet,当你写代码时候,如果操作的是本sheet表,前边就不用说明,如果你操作的是另外一张表单则需要说明这个range是属于谁的,例如:在sheet1增加一个按钮,你想操作在sheet2的A1输入值“我在学习VBA”,则代码这样写:
Private Sub CommandButton1_Click()
sheets("sheet2").range("a1").value="我在学习VBA"
End Sub
如果你忘记了没有告诉VBA你要在哪张表输入值,则VBA默认在本sheet表中输入。
cells其实和range同样,也是引用某个单元格的作用,具体参看上节内容!
Activateactivate我的理解是激活的意识,如果你的一个工作簿有很多张表,又不想从下面表单标签选取,则可以使用activate代执行了。举例说明:这样,你就不用在标签中找了,代码执行后程序会自动跳转到sheet2.后来我发现select的功能和activate的功能一样,也可以达到同样的效果,不过我不知道区别在哪里,呵呵,有兴趣的朋友可以探索一番!
Delete
这个不用多说,删除的意思,如果你想删除某表,代码可以这样写:
Private Sub CommandButton1_Click()
Sheets(1).Delete
End Sub
程序就会删除sheet的第一张表。
剩下的一个保护工作表我们后续再讲!
在下方的二维码上常按3秒钟,点击识别二维码关注我
++++++++++++++++++++++++++++
++++++++++++++++++++++++++++
关注 一生奋斗
微信扫一扫关注公众号