1 工作表 sheet的添加 worksheets.add 或 sheets.add
1.1 基本语法
- Sheets.Add 方法
- 新建工作表、图表或宏表。新建的工作表将成为活动工作表。
- 语法
- 表达式.Add(Before, After, Count, Type)
- 表达式 一个代表 Sheets 对象的变量。
- 下面是可选的参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
Before | 可选 | Variant | 指定工作表的对象,新建的工作表将置于此工作表之前。 |
After | 可选 | Variant | 指定工作表的对象,新建的工作表将置于此工作表之后。 |
Count | 可选 | Variant | 要添加的工作表数。默认值为 1。 |
Type | 可选 | Variant | 指定工作表类型。可以为下列 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。如果基于现有模板插入工作表,则指定该模板的路径。默认值为 xlWorksheet。 |
1.2 worksheets.add 或 sheets.add 一般情况下没什么区别
Sub test_sh2()
Sheets.Add after:=Sheets(Sheets.Count)
Worksheets.Add after:=Worksheets(Worksheets.Count)
End Sub
1.3 增加工作表,指定数量,指定位置,修改新建sheet名称
- 指定数量
- count:=2 参数,指定数量
- 指定位置
- before:=sheets(1)
- after:=sheets(sheets.count)
- 修改名称
- 利用每次新增sheets.add时,都是activesheet的特点,每次add 是 activesheet.name =""
- 利用每次新增sheets.add时,赋值为对象,然后修改对象名
Sub test_wh1()
Sheets.Add Count:=2, before:=Sheets(1)
Sheets.Add Count:=2, after:=Sheets(Sheets.Count)
For i = 1 To 3
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = i & "月"
Next
Dim sh1 As Object
Set sh1 = Sheets.Add '默认是往before:=sheets(1)之前了
sh1.Name = "新增表"
Dim sh2 As Object
For i = 1 To 2
Set sh2 = Sheets.Add(after:=Sheets("sheet1")) '也可以before after特定表前
sh2.Name = i & "日"
Next
End Sub
执行前
执行后
1.4 worksheets.add 和 workbook.add的特点
- 可以同时添加多个工作表,sheets.add count:=2 指定数量即可
- 如果是workbook只能依靠外部循环,workbooks.add 方法只支持增加一个
- 实际上,最好的方法是,依靠外部循环,因为这样,比较好控制 sheet命名等等
- for ... worksheets.add / worksheet.add .... next
1.5 注意:参数支持函数式写法,特别是复杂表达式里需要带括号
- 下面两种都正确
- 语句写法
- Sheets.Add after:=Sheets("sheet1")
- 赋值,有返回值写法,参数一般都要加括号 (形式参数名:=实际参数值)
- Set sh2 = Sheets.Add(after:=Sheets("sheet1"))