Excel VBA实例教程 #023:遍历工作表的方法
上一篇 /
下一篇 2011-09-14 15:22:27
在Excel应用中经常需要遍历
工作簿中所有的工作表,有以下两种方法可以实现。
1、使用For...Next 语句使用For...Next 语句遍历工作簿中所有的工作表,如下面的代码所示。
- Sub ShCount1()
- Dim c As Integer
- Dim i As Integer
- Dim s As String
- c = Worksheets.Count
- For i = 1 To c
- s = s & Worksheets(i).Name & Chr(13)
- Next
- MsgBox "工作簿中含有以下工作表:" & Chr(13) & s
- End Sub
复制代码代码解析:
ShCount1过程使用For...Next 语句遍历工作簿中所有的工作表,并用消息框显示所有的工作表名称。
第5行代码根据Worksheet对象的Count属性返回工作簿中工作表的数量赋给变量c。应用于Worksheet对象的Count属性返回Worksheets集合中工作表的数量,语法如下:
expression.Count第6行代码开始For...Next 语句循环。For...Next 语句以指定次数来重复执行一组语句,语法如下:
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]- 参数counter是必需的,用做循环计数器的数值变量。
- 参数start是必需的,循环计数器的初值。
- 参数end是必需的,循环计数器的终值。
- 参数step是可选的,环计数器的步长,缺省值为 1。
- 参数statements是可选的,放在For和Next之间的一条或多条语句,它们将被执行指定的次数。
第7行代码在For...Next循环中根据工作表的索引号取得所有工作表的名称赋给字符串变量s。
运行ShCount过程结果如图 23 1所示。
图 1 取得所有工作表名称
2、使用For Each...Next 语句使用For Each...Next语句遍历工作簿中所有的工作表,如下面的代码所示。
- Sub ShCount2()
- Dim Sh As Worksheet
- Dim s As String
- For Each Sh In Worksheets
- s = s & Sh.Name & Chr(13)
- Next
- MsgBox "工作簿中含有以下工作表:" & Chr(13) & s
- End Sub
复制代码代码解析:
ShCount2过程使用For Each...Next语句遍历工作簿中所有的工作表,并用消息框显示所有工作表名称。
第4行代码使用For Each...Next语句遍历Worksheets集合中所有元素。For Each...Next语句针对一个数组或集合中的每个元素,重复执行一组语句,语法如下:
For Each element In Group
[statements]
[Exit For]
[statements]
Next [element]
- 参数element是必需的,用来遍历集合或数组中所有元素的变量。
- 参数group是必需的,对象集合或数组的名称。
- 参数statements是可选的,针对对象集合或数组中的每一项执行的一条或多条语句。
第5行代码将返回的工作表的名称赋给字符串变量s。
收藏
举报
TAG: