使用 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 常量之一:xlWorksheet 、xlChart 、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet 。如果要基于现有模板插入工作表,请指定模板的路径。默认值为 xlWorksheet 。 |
注意
不能同时指定参数 Before 和参数 After,如果同时省略参数 Before 和参数 After,则在活动工作表之前插入新建工作表。
示例:使用对象变量插入新工作表
一般情况下,前一个示例的 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
对象变量。