通过ActiveWorkbook.Sheets.Add将新表插入到最后的代码

来源:互联网 发布:linux查看hba卡驱动 编辑:程序博客网 时间:2024/05/22 13:53

通常情况下,我们在EXCEL的工作薄中,使用菜单操作:插入一个新的工作表,那么,该工作表总是会出现在当前被选中的工作表的前面。 如果您想将新插入的工作表,让它的位置出现在所有工作表的最后,那么,得使用VBA代码来实现。

我们可以使用VBA代码中的ActiveWorkbook.Sheets.Add方法,将新插入的工作表插入到所有工作表的最后位置。

以下是与ActiveWorkbook.Sheets.Add相关的代码示例及说明,希望对您有所帮助。

一、ActiveWorkbook.Sheets.Add语法

ActiveWorkbook.Sheets.Add方法,有四个参数,分别是:

Before:Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之前。

After:Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之后。

Count:Variant 类型,可选。要新建的工作表的数目。默认值为 1。

Type:Variant 类型,可选。指定工作表类型。

ActiveWorkbook.Sheets.Add方法使用公式如下:

ActiveWorkbook.Sheets.Add 参数:=参数值

如:ActiveWorkbook.Sheets.Add Count:=6 其功能是:在当前工作薄的前面,插入新的六个工作表。

二、通过ActiveWorkbook.Sheets.Add将新表插入到最后

根据一的基础,下面,我们来实现本文的难题:在任何时候,如何让新表插入到最后?

使用如下代码即可:

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

代码解释,after参数的含义是,在某某表的后面插入新表。Worksheets.Count的含义是,所有表的总数;

现在,完整的看这行代码:

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

其含义是,在当前所有表的总数(也就是最后一个表拉,因为最后一个表的序号刚好就是所有表的总数)的后面插入新表。

三、其它类似的代码

A:ActiveWorkbook.Sheets.Add.Name = "工作表名称";插入一个给定名称的工作表;

B:ActiveWorkbook.Sheets.Add.Name = Format(Date, "yy-mm-dd");插入一个以年-月-日为名称的工作表;

C:ActiveWorkbook.Sheets.Add before:=Worksheets("Sheet1");在Sheet1之前插入一个工作表;

D:综合运行的代码

ActiveWorkbook.Sheets.Add Before:=Worksheets("Sheet6")

ActiveSheet.Name = "我是刚插入的"

以上两行代码的功能是,指定新插入表出现在Sheet6的前面,并且,指定要使用我是刚插入的为表的名称
原创粉丝点击