VBA 工作表 worksheet常用事件

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 常量之一:xlWorksheetxlChartxlExcel4MacroSheetxlExcel4IntlMacroSheet。如果基于现有模板插入工作表,则指定该模板的路径。默认值为 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")) 

2 判断工作表名字是否存在

发布了416 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/xuemanqianshan/article/details/104121802