有网友问到如何获取工作表名的问题,在VBA中只需要使用For Each...Next语句遍历工作簿中所有的工作表
如下面的代码所示。
Sub SheetCount1()
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
代码解析:
Sheetcount过程使用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。
运行SheetCount1过程结果如图所示。