VBA-删除sheet

删除指定的工作表,依次从后面删除工作表、删除一段工作表。代码如下。

复制代码
Sub 删除工作表()
'
' 删除工作表 宏
' 从最后开始删除
'
' 快捷键: Ctrl+d
'
'    Sheets(Sheets.Count).Select
'    ActiveWindow.SelectedSheets.Delete
    
' 核心语句
'    Sheets(Sheets.Count).Delete


' 分区间删除
    a = 10
    Application.DisplayAlerts = False
    
    For i = a To Sheets.Count
        Sheets(a).Delete
        
    Next
    
    Application.DisplayAlerts = True
    
End Sub
复制代码

1、删除指定的工作表,核心语句

Sheets(index).Delete
# index是工作表的索引号,excel从1开始。或者输入“indexname”,以具体的工作表名来代替。

2、删除最后的工作表

Sheets(Sheets.Count).Delete
# Sheets.Count代表工作薄中最后的一张工作表。

3、删除指定位置之后的工作表

复制代码
a = 10   # 假设从第10个工作薄开始删除,包括第10个             
Application.DisplayAlerts = False  # 为了避免反复确认删除,这里关闭确认删除的弹窗
    
For i = a To Sheets.Count       # 默认是step=1
    Sheets(a).Delete
Next
    
Application.DisplayAlerts = True  # 恢复弹窗状态
    
复制代码
posted @   马帅领  阅读(5694)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示