VBA实现跳过Sheet1清除指定单元格区域内容的代码写法
VBA 清除多工作表指定区域内容时跳过Sheet1的实现方法
修改思路
原有代码遍历工作表时没有做名称过滤,只需要在循环执行清除操作前增加判断,识别到Sheet1时直接跳过即可。
调整后可直接运行的代码
Sub Clear_All() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets ' 匹配到Sheet1时跳过清除操作 If Ws.Name <> "Sheet1" Then Ws.Range("A11:F800").ClearContents End If Next Ws End Sub
补充说明
- 判断逻辑
Ws.Name <> "Sheet1"的作用是校验当前遍历的工作表名称,只有名称不是Sheet1的工作表才会执行区域内容清除 - 如果后续需要额外跳过其他工作表,直接在判断条件中追加规则即可,例如同时跳过Sheet1和参数表的写法为:
If Ws.Name <> "Sheet1" And Ws.Name <> "参数表" Then - 当前使用的
ClearContents仅清除单元格存储的内容,不会改动单元格格式、批注、条件格式、数据验证规则,如果需要连同格式一起清空,可以将ClearContents替换为Clear方法
内容的提问来源于stack exchange,提问作者Waylan Lee
相关产品推荐
相关产品推荐

