【VBA入门必备】3分钟速成,工作表的轻松添加与删除自动化技巧!

【VBA入门必备】3分钟速成,工作表的轻松添加与删除自动化技巧!"/

要在VBA中添加和删除工作表,你可以使用以下VBA代码。这段代码将演示如何添加一个新的工作表,并如何在删除工作表之前检查它是否存在。
首先,你需要打开Excel,然后按下 `Alt + F11` 打开VBA编辑器。在VBA编辑器中,插入一个新的模块(在菜单栏选择 `插入` > `模块`)。然后复制并粘贴以下代码到模块中。
```vba Sub AddSheet() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) ws.Name = "NewSheet" MsgBox "工作表 'NewSheet' 已添加。" End Sub
Sub DeleteSheet() Dim ws As Worksheet Set ws = Nothing ' 检查工作表是否存在 On Error Resume Next Set ws = ThisWorkbook.Sheets("SheetToBeDeleted") On Error GoTo 0 If Not ws Is Nothing Then ws.Delete MsgBox "工作表 'SheetToBeDeleted' 已删除。" Else MsgBox "工作表 'SheetToBeDeleted' 不存在。" End If End Sub ```
在上面的代码中,`AddSheet` 过程用于添加一个新的工作表,并将其命名为 "NewSheet"。`DeleteSheet` 过程用于删除名为 "SheetToBeDeleted" 的工作

相关内容:

lass="xiangguan" id="content">

在日常工作中,Excel表格的增删改查是高频操作。如果每次都要手动右键点击添加或删除工作表,效率实在太低!
今天教你用VBA代码一键搞定,从此告别重复劳动,效率翻倍!

一、添加工作表:3种常用方法

1. 基础版:添加一个空白工作表

Sub 添加工作表()
    Worksheets.Add  '在活动工作表前插入一个新表
    '或指定位置:
    Worksheets.Add After:=Worksheets(Sheets.Count)  '在最后插入
End Sub

效果:默认名称是“SheetX”(如Sheet1、Sheet2)。

2. 进阶版:自定义名称和位置

Sub 添加自定义工作表()
    Dim ws As Worksheet
    Set ws = Worksheets.Add(Before:=Worksheets(1))  '在第一个工作表前插入
    ws.Name = "2023销售数据"  '重命名新表
End Sub

注意:工作表名不能重复,否则会报错!可用以下代码避免:

On Error Resume Next  '忽略错误
ws.Name = "新名称"
On Error GoTo 0       '恢复错误提示

3. 批量添加多个表

Sub 批量添加工作表()
    Dim i As Integer
    For i = 1 To 5  '循环添加5个表
        Worksheets.Add(After:=Sheets(Sheets.Count)).Name = "部门" & i
    Next i
End Sub

效果:生成“部门1”到“部门5”共5个表。

二、删除工作表:2种安全方法

1. 删除指定名称的工作表

Sub 删除单个表()
    Application.DisplayAlerts = False  '关闭警告提示
    Worksheets("临时表").Delete        '删除名为“临时表”的工作表
    Application.DisplayAlerts = True   '恢复警告提示
End Sub

关键点

  • Application.DisplayAlerts = False 可跳过确认弹窗,避免中断代码。
  • 慎用! 删除前建议先备份数据。

2. 批量删除工作表(保留指定表)

Sub 批量删除表()
    Dim ws As Worksheet
    Application.DisplayAlerts = False
    For Each ws In Worksheets
        If ws.Name <> "总表" Then  '保留名为“总表”的工作表
            ws.Delete
        End If
    Next ws
    Application.DisplayAlerts = True
End Sub

效果:删除除“总表”外的所有工作表。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章