Excel VBA
Excel获取所有工作表名
2017-04-10 17:00:19

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