VBA中如何遍历worksheet并删除特定sheet

 时间:2026-02-14 15:09:00

1、如果通过for i = 1 to worksheets.count 的方式来遍历sheet,然后通过worksheets(i).delete这种方式来找到并删除sheet,运行时可能会报错超出范围。

这是因为通过sheet的编号来遍历,又在循环体中使用编号引用到sheet来删除,容易造成i超出删除后的count。

VBA中如何遍历worksheet并删除特定sheet

2、正确方法是通过For Each ws In Worksheets的方式来遍历,然后通过ws.Delete的方式来删除。

VBA中如何遍历worksheet并删除特定sheet

3、示例:

Sub test()

Application.DisplayAlerts = False

For Each ws In Worksheets

If CDate(ws.Name) < Date - 30 Then  

    ws.Delete

End If

Next

Application.DisplayAlerts = True

End Sub

  • 怎样使用VBA每隔三行选一行?
  • WPS智能工具箱空白单元格快速填充右侧值
  • EXCEL单元格连接基础教程
  • EXCEL中如何快速输入固定范围的指定内容
  • 使用Excel分列功能怎样进行数据格式的快速转换
  • 热门搜索
    怎么把电脑屏幕调亮 彭州白鹿镇旅游攻略 蒋方舟简介 有过敏性鼻炎怎么办 浦东机场停车攻略 手机卡怎么剪成小卡 三亚西岛攻略 word对号怎么输入 车被划了怎么办 怎么盗别人的qq密码