Worksheet工作表对象方法

2019-10-13 15:41:53 浏览数 (1)

大家好,上节介绍了工作比对象的常用属性,那么本节主要介绍工作表对象的常用方法。

一、activate与selcet方法

这两种方法主要是用于激活工作表,即让处于不活动状态的工作表变为活动编辑状态。

两段代码中activate和select方法的结果相同。都是将workshets(1)工作表对象激活。

那么两种方法有什么区别呢?区别主要有两点:1、对于隐藏的工作表,激活只能使用activate方法。2、需要选中多张未隐藏的工作表对象时,则需要使用select方法,而activate方法只能激活一个工作表对象。

下面以selcet选择多个工作表为例。(需要用数组arry的知识,后期会详细讲解)

Worksheets(Array(1, 2, 3)).Select。这里使用array数组,代码表示三个表均被选中。

那么如果想选中所有的工作表对象,可以通过代码worksheets.select 来实现。

二、add方法

工作表对象的add方法,在对象方法概述中有介绍,下面补充复习下。

add方法主要用于添加新工作表,它的完整语句为:

worksheets.add([before],[after],[count],[type])

所有参数均为可选

参数Before和After为指定一个工作表,新添加的工作表放置在该工作表之前或者后。

参数count表示添加的工作表的数量。

参数tpye表示添加的工作表对象的类型:xlWorksheet(工作表)、xlChart(图表工作表)、xlExcel4MacroSheet(宏表),默认值是xlWorksheet。

下面通过举例说明,最简单的开始只添加一个新的工作表。

省略所有参数,运行代码add方法会再活动工作表前面添加新的工作表。

如果需要指定位置和数量,就需要使用add方法的参数。比如像在worksheets(2)表后添加两张表。

Worksheets.Add after:=Worksheets(2), Count:=2。

代码中add方法使用参数,after参数指定在worksheets(2)之后,count参数为2表示添加两张新工作表。

如果希望每次添加在工作表最后添加呢?这里需要用工作表集合的count属性。通过worksheets(worksheets.count)就表示最后一个工作表。

代码中通过add方法的after参数,在工作表worksheets(worksheets.count)后添加一个新工作表。

worksheets(worksheets.count)作为最后一个工作表,就是新添加的工作表。将它的name属性设置为“新表”

下面再举一个列子,需要添加12张表。每张表的名字分别为十二个月。(对于批量添加就需要想到循环)

Sub test()

Dim i As Integer

For i = 1 To 12

Worksheets.Add after:=Worksheets(Worksheets.Count)

Worksheets(Worksheets.Count).Name = i & "月"

Next

End Sub

通过for循环结构,循环12次。每次循环最后一个工作表后添加新表,同时新表的名字以几月来命名。

三、delete方法

delete方法用于删除指定的工作表对象,方法较简单,但有个注意点。比如以删除“表格1”为例。

在使用delete方法时,excel会弹窗是否确认删除。这就会阻碍vba代码的自动运行。那么就需要先将excel的询问警告对话关闭。

通过改变application的displayalrets属性来实现,是固定用法,先关闭警告对话框,执行代码,再恢复警告对话框。

Application.DisplayAlerts = False

执行删除代码

Application.DisplayAlerts = True

上面的add方法示例中有生成12个月份的工作表,下面通过代码来删除这12张工作表,演示如下:

先关闭警告对话,通过for循环,循环12次删除最后一张表。删除之后恢复警告对话框。

四、copy方法

工作表的copy方法可以用于复制工作表。它的语法如下:

工作表对象.copy([before],[after])

参数Before和参数After用于指定工作表,复制的工作表将放置在该工作表之前或者之后。二者只能同时选一。

如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。

下面通过举例说明,将“汇总表“复制到”表格1“的后面

执行代码后,在“表格1”后面复制了汇总表,由于名字重复,默认的名字为汇总表(2)。

如果没有指定before和after参数时,工作表会复制到新的工作簿中。演示如下“,原表中依然保留“汇总表“。

五、move方法

工作表的move方法时移动工作表的操作。语法如下:

工作表对象.move([before],[after])

参数Before和参数After用于指定工作表,移动工作表将放置在该工作表之前或者之后。二者只能同时选一。

如果没有指定参数,Excel将创建一个包含所移动的工作表的新工作簿。原表中不保留。

如果不指定参数,那么会将表移动到新建的工作表中。(原表中也不保留)



今天下雨

本节主要介绍工作表对象的几个常用方法,可以多练习尝试,祝大家学习快乐。


0 人点赞