vba07---for each循环

0、for each j in worksheets-----next
for each等同于下面这两句:
image
 
1、提取所有sheet的名称
for each j--------next
不把汇总表名称提取出来,就加一个if不,才能执行语句排除一下-----如果名称不是汇总才让提取
image
 
2、

删除工作表,只保留其中一个sheet。使用if不就执行格式。如果名称不等于汇总就执行操作。

删除工作表会弹出一个框,会影响程序运行,因此程序运行开始关上提示框,程序结束之前再打开提示框

image
把所有工作表都提取出来都存到i变量里面
 
image
 
 
3、for each j可以应用在单元格中
j代表区间的每一个单元格。range(”a1:a10“)中的each就是单个单元格
image
 
4写一个汇总运算各个sheet的代码
image
第一个循环,汇总表的几个姓名所在单元格进行的for循环
第二个循环,对各个sheet进行的for each遍历------------遍历时把表名不含“月”的不执行,因此加入if语句进行判断

第三个循环,对符合条件的sheet内部的姓名所在单元格进do while循环(姓名列不为空就一直循环下去)

------------循环中引入条件判断,if单元格姓名与汇总的哪个姓名一致,就把它的分数加到汇总的哪个分数中

【】需要注意do while 里面的k需要单独调增

姓名可能出现多空格情况,则应该进行数据的清洗,加上trim或ucase、lcase
image
posted @ 2026-01-11 17:57  ibddindonon  阅读(3)  评论(0)    收藏  举报