我有一个具有以下外观的工作簿:
此工作簿第一张工作表“Resultat”计算工作簿中其他工作表的数据,并按照图片显示。
为了使计算正常工作,标记的红色方块中显示的名称必须相同且相应,否则值将为#####,因为您可以看到条目号2(单元格A5工作和与工作表编号2具有相同的名称,但单元格A8不起作用,因为它与工作表编号3不同。
我的问题基本上是,是否可以使用将在特定单元格中输入工作表名称的函数。在此示例中,我希望cell A5
自动获取包含index 2
的工作表名称,cell A8
等于包含index 3
的工作表,依此类推。
现在我手动执行此操作,但如果这可以自动化将是一个很大的帮助,因为我有很多这些工作簿,名称不时更改。
答案 0 :(得分:4)
使用此公式
=MID(CELL("filename",A1), FIND("]", CELL("filename", A1))+ 1, 255)
以上将为您提供当前工作表的名称
如果您将A1的引用更改为相关工作表,那么它将获取该名称。
例如:
=MID(CELL("filename",Sheet1!A1), FIND("]", CELL("filename", Sheet1!A1))+ 1, 255)
这将为您提供Sheet1
答案 1 :(得分:1)
创建VBA模块并输入以下代码:
Public Function SheetNameByIndex(Index As Integer) As String
SheetNameByIndex = ActiveWorkbook.Sheets(Index).Name
End Function
现在,您可以在工作簿中的任何位置执行
=sheetnamebyindex(2)
=sheetnamebyindex(A1)