1. 如图所示,要删除Excel文件中的多张工作表,但是其中有一张不能删。
2. 打开Visual Basic,添加模块和过程,称之为“批量删表”。
Sub 批量删表()
End Sub
3. 添加for each循环的代码。
Sub 批量删表()
Dim sht As Worksheet
For Each sht In Sheets
Next
End Sub
1)Dim sht As Worksheet:变量为sht,意思是“工作表”,所以定义为Worksheet;
2)For Each sht In Sheets:每个sht(工作表)在所有工作表中Sheets;
3)Next:结束for each循环。
4. 添加if判断语句,当遇到工作表名为“模板(不删)”时,不删跳过,而删除其余表。
Sub 批量删表()
Dim sht As Worksheet
For Each sht In Sheets
If sht.Name <> "模板(不删)" Then
sht.Delete
End If
Next
End Sub
1)If sht.Name <> "模板(不删)" Then:表名不等于(符号为“<>”)“模板(不删)”;
2)sht.Delete:删除表;
3)End If:结束if语句。
5. 在执行以上代码后,发现删表时会有一个确认对话框。
6. 为了在批量操作时,不用每次都去点击确认,在代码中加入控制警告弹窗的代码。
Sub 批量删表()
Dim sht As Worksheet
Application.DisplayAlerts = False
For Each sht In Sheets
If sht.Name <> "模板(不删)" Then
sht.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
7. 再次执行更新的代码后,可以快速删表,并且只留下我们不要删除的那张工作表。