养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何在Excel中用VBA的for each循环批量删工作表

时间:2024-11-15 12:28:10

在Excel中用VBA的foreach循环批量删工作表

工具/原料

电脑

Windows10

2019Excel

方法/步骤

1、如图所示,要删除Excel文件中的多张工作表,但是其中有一张不能删。

如何在Excel中用VBA的for each循环批量删工作表

2、打开VisualBasic,添加模块和过程,称之为“批量删表”。

如何在Excel中用VBA的for each循环批量删工作表

3、添加foreach循环的代码。

如何在Excel中用VBA的for each循环批量删工作表

4、1)锓旆痖颧DimshtAsWorksheet:变量为sht,意思是“工作表”,所以定义为Worksheet;2)ForEachsht朐袁噙岿InSheets:每个sht(工作表)在所有工作表中Sheets;3)Next:结束foreach循环。

5、添加if判断语句,当遇到工作表名为“模板(不删)”时,不删跳过,而删除其余表。

如何在Excel中用VBA的for each循环批量删工作表

6、1)诔罨租磊Ifsht.Name<>"模板(不删)"Then:表名不等于(符号为“<>”)“模板(不删)惯墀眚篪”;2)sht.Delete:删除表;3)EndIf:结束if语句。

7、在执行以上代码后,发现删表时会有一个确认对话框。

如何在Excel中用VBA的for each循环批量删工作表

8、为了在批量操作时,不用每次都去点击确认,在代码中加入代码如图。

如何在Excel中用VBA的for each循环批量删工作表

9、再次执行更新的代码后,可以快速删表,并且只留下我们不要删除的那张工作表。

如何在Excel中用VBA的for each循环批量删工作表

© 一点知识