Excel VBA 技巧:如何在最后一个工作表后插入新工作表?

Excel VBA 技巧:如何在最后一个工作表后插入新工作表?

编码文章call10242025-09-14 15:26:295A+A-

适用场景:

- 需要批量创建新工作表时

- 想确保新工作表始终添加在最后

- 自动化报表生成


代码实现


Sub AddNewWorksheetAtEnd()
Dim wb As Workbook
Dim ws As Worksheet

' 引用当前工作簿(可替换为指定工作簿)
Set wb = ActiveWorkbook

' 在最后一个工作表后添加新工作表
Set ws = wb.Worksheets.Add(After:=wb.Worksheets(wb.Worksheets.Count))

' 可选:命名新工作表
ws.Name = "数据_" & Format(Date, "yyyymmdd") ' 示例:数据_20230812
End Sub


代码解析

1. `wb.Worksheets.Count` → 获取当前工作簿的工作表总数

2. `After:=wb.Worksheets(...)` → 指定新工作表插入的位置

3. `ws.Name = "..."` → 可自定义工作表名称(如按日期命名)


进阶用法

防止重名报错(检查工作表是否存在):


On Error Resume Next
If Evaluate("ISREF('" & "新工作表" & "'!A1)") Then
MsgBox "工作表已存在,请修改名称!", vbExclamation
Exit Sub
End If
On Error GoTo 0


批量插入多个工作表(循环实现):


For i = 1 To 5 ' 插入5个新工作表
Set ws = wb.Worksheets.Add(After:=wb.Worksheets(wb.Worksheets.Count))
ws.Name = "Sheet_" & i
Next i


关注我,获取更多 Excel自动化办公技巧!


Excel技巧 VBA编程 办公自动化 职场效率


如果觉得有用,别忘了 点赞 + 收藏,关注我,获取更多Excel VBA高效编程技巧!

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4