如果工作簿中有大量工作表,则可能要检索这些工作表的名称,然后放在自己的工作表中。例如,您可能希望将它们放在一个地方,以便可以在目录中或以其他方式使用它们。下面的宏GetSheets将快速检索当前工作簿中工作表的名称,并将它们放入当前工作簿中,从当前选择的任何单元格开始。

Sub GetSheets()

Dim w As Worksheet     Dim iRow As Integer     Dim iCol As Integer

iRow = Selection.Row     iCol = Selection.Column     For Each w in Worksheets         Cells(iRow, iCol) = w.Name         iRow = iRow + 1     Next w End Sub

如果要创建实际的目录,其中工作表名称实际上是到工作表的超链接,则可以按以下方式修改宏:

Sub MakeTOC()

Dim w As Worksheet     Dim iRow As Integer     Dim iCol As Integer     Dim sTemp As String

iRow = Selection.Row     iCol = Selection.Column     For Each w in Worksheets         Cells(iRow, iCol) = w.Name         sTemp = "'" & w.Name & "'!A1"

ActiveSheet.Hyperlinks.Add Anchor:=Cells(iRow, iCol), _           Address:="", SubAddress:=sTemp, TextToDisplay:=w.Name         iRow = iRow + 1     Next w End Sub

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11679)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Retrieving_Worksheet_Names [检索工作表名称]。