有网友问到如何获取工作表名的问题,在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) & sEnd 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过程结果如图所示。