【VBA】EXCEL - VBA 创建 Sheet 表的 6 种方法,以及注意事项

目录

[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 方法。
相关推荐
Once_day14 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
觉醒大王25 分钟前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
喜欢喝果茶.32 分钟前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓33 分钟前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)33 分钟前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
Dragon Wu1 小时前
Spring Security Oauth2.1 授权码模式实现前后端分离的方案
java·spring boot·后端·spring cloud·springboot·springcloud
island13141 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了1 小时前
Java中的集合
java·开发语言
魔芋红茶1 小时前
Python 项目版本控制
开发语言·python
一个有梦有戏的人1 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python