在Excel中用VBA的foreach循环批量删工作表
工具/原料
电脑
Windows10
2019Excel
方法/步骤
1、如图所示,要删除Excel文件中的多张工作表,但是其中有一张不能删。
2、打开VisualBasic,添加模块和过程,称之为“批量删表”。
3、添加foreach循环的代码。
4、1)锓旆痖颧DimshtAsWorksheet:变量为sht,意思是“工作表”,所以定义为Worksheet;2)ForEachsht朐袁噙岿InSheets:每个sht(工作表)在所有工作表中Sheets;3)Next:结束foreach循环。
5、添加if判断语句,当遇到工作表名为“模板(不删)”时,不删跳过,而删除其余表。
6、1)诔罨租磊Ifsht.Name<>"模板(不删)"Then:表名不等于(符号为“<>”)“模板(不删)惯墀眚篪”;2)sht.Delete:删除表;3)EndIf:结束if语句。
7、在执行以上代码后,发现删表时会有一个确认对话框。
8、为了在批量操作时,不用每次都去点击确认,在代码中加入代码如图。
9、再次执行更新的代码后,可以快速删表,并且只留下我们不要删除的那张工作表。