引用工作表名称(Microsoft Excel)
Jon想知道工作表是否有等于= ROW()或= COLUMN()的函数。他需要参考(例如)工作簿中的第四张纸,但是他不确定该工作纸的名称。
有两种方法可以解决此问题,具体取决于您需要执行的操作。如果要使用已保存的工作表,则以下公式将为您提供Sheet4的工作表名称:
=MID(CELL("filename",Sheet4!A1),FIND("]",CELL( "filename",Sheet4!A1))+1,LEN(CELL("filename", Sheet4!A1)))
您应该注意,此公式中有两个假设。
首先(也是最重要的是)假设您知道工作表的初始名称。在这种情况下,初始名称为Sheet4。公式到位后,对工作表名称的后续更改将自动反映在公式中。第二个假设是您正在使用的工作簿已保存。如果还没有,那么公式将返回错误,直到保存并重新计算工作簿。
另一种方法是使用用户定义的函数。在VBA的对象模型中,工作簿中的所有工作表都包含在Sheets集合中。这些反过来又被索引。因此,您可以将索引值传递给函数,并以集合的索引号获取工作表的名称。
Function TabName(snum As Long) As String If snum > 0 And snum <= Sheets.Count Then TabName = Sheets(snum).Name End If End Function
例如,如果您想知道集合中第四个工作表的名称,则可以在工作表中使用以下内容:
=TabName(4)
即使在尚未保存的工作簿中,该功能也可以正常工作。即使工作表被重命名或移动,它也将返回正确的工作表名称。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(7607)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: