Excel VBA 添加新工作表
目录
- 默认工作簿中添加表
Worksheets.Add
同时设置表名称:Worksheets.Add().Name="New Sheet"
- 指定工作簿中添加表
myWorkbook.Sheets.Add
.Add()
方法参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Before | 可选 | Variant | 指定工作表的对象,新建的工作表将置于此工作表之前 |
After | 可选 | Variant | 指定工作表的对象,新建的工作表将置于此工作表之后 |
Count | 可选 | Variant | 要添加的工作表数。 默认值为 1 |
Type | 可选 | Variant | 指定工作表类型 |
- 如果同时省略
Before
和After
,则新工作表插入到活动工作表之前。 Type
可以是下列的XlSheetType
常量之一:xlWorksheet
、xlChart
、xlExcel4MacroSheet
或xlExcel4IntlMacroSheet
。
返回值
表示新工作表、图表或宏工作表的 Object 值。
常用代码
添加并设置表名
Dim tmpSheet As Worksheet
Set tmpSheet = Worksheets.Add()
tmpSheet.Name = "表x"
指定添加的位置
Worksheets.Add(after:=Worksheets("数据表"))
Worksheets.Add(before:=Worksheets("数据表"))
按顺序依次往后添加
Worksheets.Add(after:=Worksheets(Worksheets.Count))
根据表名自动添加不存在的表
Function AddSheetByNames(Names)
Dim name As Variant
Dim tmpSheet As Worksheet
For Each name In Names
If ArrayHasVal(name, getSheetNamesList()) = 0 Then '表名不存在,添加
Set tmpSheet = Worksheets.Add(after:=Worksheets(Worksheets.Count))
tmpSheet.name = name
End If
Next
End Function