目录
[1. 创建一个新工作表,并将其添加到工作簿的末尾](#1. 创建一个新工作表,并将其添加到工作簿的末尾)
[2. 创建一个新工作表,并命名它](#2. 创建一个新工作表,并命名它)
[3. 创建一个新工作表,并将其插入到指定位置](#3. 创建一个新工作表,并将其插入到指定位置)
[4. 检查是否已有同名工作表,避免重复创建](#4. 检查是否已有同名工作表,避免重复创建)
[5. 创建多个工作表](#5. 创建多个工作表)
[6. 基于现有模板创建新工作表](#6. 基于现有模板创建新工作表)
1. 创建一个新工作表,并将其添加到工作簿的末尾
vbnet
Sub CreateNewSheet()
Sheets.Add ' 在工作簿末尾添加一个新工作表
End Sub
2. 创建一个新工作表,并命名它
vbnet
Sub CreateAndNameSheet()
Sheets.Add.Name = "新工作表" ' 添加并命名新工作表
End Sub
3. 创建一个新工作表,并将其插入到指定位置
vbnet
Sub CreateSheetBeforeSpecificSheet()
Sheets.Add Before:=Sheets("Sheet1") ' 在 "Sheet1" 之前添加新工作表
End Sub
Sub CreateSheetAfterSpecificSheet()
Sheets.Add After:=Sheets("Sheet1") ' 在 "Sheet1" 之后添加新工作表
End Sub
4. 检查是否已有同名工作表,避免重复创建
vbnet
Sub CreateSheetIfNotExists()
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets("新工作表")
On Error GoTo 0
If ws Is Nothing Then
Sheets.Add.Name = "新工作表"
Else
MsgBox "工作表 '新工作表' 已存在!"
End If
End Sub
5. 创建多个工作表
vbnet
Sub CreateMultipleSheets()
Dim i As Integer
For i = 1 To 3 ' 创建3个新工作表
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "新工作表" & i
Next i
End Sub
6. 基于现有模板创建新工作表
vbnet
Sub CreateSheetFromTemplate()
Sheets("模板").Copy After:=Sheets(Sheets.Count) ' 假设有一个名为"模板"的工作表
ActiveSheet.Name = "从模板复制的工作表"
End Sub
注意事项:
- 命名规则:工作表名称不能包含特殊字符,如 / \ [ ] * ? 等,并且长度不能超过 31 个字符。
- 错误处理:在实际应用中,建议加入更多的错误处理逻辑,以应对可能出现的问题,例如工作表名称重复、权限不足等。
- 激活工作表:如果需要确保新工作表被激活,可以在 Sheets.Add 后加上 ActiveSheet 或直接指定 .Activate 方法。