跳到主要内容

添加新工作表

使用 Worksheets 集合的 Add 方法或 Sheets 集合的 Add 方法,可以在工作簿中添加工作表,新添加的工作表将成为工作簿的活动工作表。了解 Sheets 与 Worksheets 的区别

示例:在最后一个表之后插入新工作表

如下示例代码在工作簿的最后一个表之后插入一个新工作表,并为新工作表指定名称为“新工作表”。

Sub AddWorksheet()
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "新工作表"
End Sub

代码解析

第 2 行代码使用 Add 方法在工作簿的最后一个表之后插入一个新工作表。

第 3 行代码使用 Name 属性重新命名活动工作表。由于新添加的工作表即为活动工作表,所以代码中可以使用 ActiveSheet 属性引用新建工作表。

第 2 行和第 3 行代码可以简化为如下一行代码:

Sheets.Add(After:=Sheets(Sheets.Count)).Name = "新工作表"

Add 方法语法

应用于 Worksheets 集合和 Sheets 集合的 Add 方法的语法格式如下:

Add(Before,After,Count,Type)

参数

名称 必需/可选 数据类型 说明
Before 可选 Variant 指定工作表的对象,新建的工作表将置于此工作表之前。
After 可选 Variant 指定工作表的对象,新建的工作表将置于此工作表之后。
Count 可选 Variant 要添加的工作表数。默认值为 1。
Type 可选 Variant 指定工作表类型。可以是以下 XlSheetType 常量之一:xlWorksheetxlChartxlExcel4MacroSheetxlExcel4IntlMacroSheet。如果要基于现有模板插入工作表,请指定模板的路径。默认值为 xlWorksheet

示例:使用对象变量插入新工作表

一般情况下,前一个示例的 AddWorksheet 过程能够正常运行,但是,如果工作簿窗口被隐藏(【视图】【隐藏】),将会产生运行时错误。使用如下示例代码可以避免此类意外情况。

Sub AddNewWorksheet()
    Dim Sht As Worksheet
    With ThisWorkbook
        Set Sht = .Worksheets.Add(After:=.Sheets(.Sheets.Count))
    End With
    Sht.Name = "新工作表2"
    Set Sht = Nothing
End Sub

第 3 行代码中 ThisWorkbook 对象代表代码所在的工作簿。
第 4 行代码使用 Worksheets 集合的 Add 方法新建工作表对象,并将其赋值给对象变量 Sht
第 6 行代码重命名工作表。
第 7 行代码释放 Sht 对象变量。

评论

您的电子邮件地址不会显示出来。*号为必填项。