1、根据工作表数量来遍历
For i = 1 To Worksheets.Count
Debug.Print Worksheets(i).Name
Next
2、在工作表集合里遍历
For Each ws In Worksheets
Debug.Print ws.Name
Next
上面是遍历工作表的两种基本方法。
假如,工作簿中有很多工作表,我们不需要遍历所有工作表。
可以自己造一个“工作表集合”,然后遍历这个集合,完成相应操作。
如:将工作表a、b、c打包成为一个“工作表集合”。
3、打包方法1:使用Array函数打包工作表对象。
注意:1、定义的集合对象是Sheets而不是Worksheets,否则会出错。
2、记得给对象赋值的时候不要忘记Set。
3、关键词Array函数将a、b、c三个工作表打包在一起,组成一个小团体(工作表集合)。
Worksheets(Array("a", "c")).Select 此代码同时选中工作表a、c 。
4、打包方法2:使用Array函数打包工作表名称。
此种方法应用到数组知识,在之前虽然没有学到数组,但不妨学习一下。
通过自建集合,可以避免遍历所有的工作表,将相同性质的工作表都归类到同一个集体。
小练习:多工作表合并数据。
将a、b、c三个工作表的数据合并到一个工作表内。
参考代码:
注意:
r = ws.Cells(Rows.Count, 1).End(xlUp).Row '最后非空行行号
'复制数据到汇总工作表
ws.Range("a2:b" & r).Copy Sheets("汇总").Range("a" & lr)
这两句代码的ws不能省略,必须指定单元格的父对象,否则容易出错。