在开发工作表时,有时可能需要引用分配给工作表的名称。 (这是显示在Excel窗口底部工作表选项卡上的名称。)不幸的是,Excel不包含任何内部函数来执行此操作。但是,您可以通过使用CELL工作表功能开始创建此类功能。

如果在单元格中包含以下内容,Excel将返回工作簿的完整路径以及工作表名称:

=CELL("filename")

例如,如果您将其输入MyBook工作簿的Sheet3工作表的单元格中,则Excel返回的信息可能类似于C:\ My Documents \ [MyBook.xls] Sheet3(当然,取决于驱动器和保存工作簿的目录)。

要仅从该值返回工作表名称,可以在单元格中使用以下内容:

=MID(CELL("filename"),(FIND("]",CELL("filename"))+1),50)

这适用于长度不超过50个字符的任何工作表名称。 (如果通常使用不同的长度,只需更改表达式中的值即可。)

如果您希望使用面向宏的方法,则可以创建一个功能齐全的宏来完成这项工作。以下宏SheetStuff将返回三个单独的项目中的任何一个:

Function SheetStuff(numWanted As Byte) As String     Select Case numWanted         Case 1             SheetStuff = ActiveSheet.Name         Case 2             SheetStuff = ThisWorkbook.Name         Case 3             SheetStuff = ThisWorkbook.FullName         Case Else             SheetStuff = ActiveSheet.Name     End Select End Function

若要使用此宏函数,只需将= SheetStuff(X)放在工作表的单元格中。您应该根据需要的信息用1、2或3替换X。如果使用1,则返回当前工作表的名称。如果使用2,则返回工作簿的名称。

最后,3返回工作簿的名称和完整路径。

注意:

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

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

本技巧(2019)适用于Microsoft Excel 97、2000、2002和2003。