获取特定图纸名称的function

我有一个工作簿,具有以下外观:

在这里输入图像说明

该工作簿第一张工作表“Resultat”计算工作簿中其他工作表的数据,并如图所示显示。

为了使计算正常工作,标记的红色方块中显示的名称必须相同且相对应,否则值将为#####,如条目2所示(单元格A5工作且具有相同名称为图纸编号2,但单元格A8不起作用,因为它不具有与图纸编号3相同的名称)。

我的问题是基本上,是否有可能使用一个函数,将input一个特定的单元格中的工作表的名称。 在这个例子中,我希望cell A5自动获取index 2的表单名称, cell A8等于index 3表单等等。

现在即时手动做这个,但这将是一个很大的帮助,如果这可以自动化,因为我有很多这些工作簿,名称不时变化。

使用这个公式

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

以上将给你当前表单的名称

如果您将A1的引用更改为相关工作表,则会提取该名称。

例如:

 =MID(CELL("filename",Sheet1!A1), FIND("]", CELL("filename", Sheet1!A1))+ 1, 255) 

这会给你Sheet1

创build一个VBA模块并input下面的代码:

 Public Function SheetNameByIndex(Index As Integer) As String SheetNameByIndex = ActiveWorkbook.Sheets(Index).Name End Function 

现在,在你的工作簿中的任何地方,你都可以做到

 =sheetnamebyindex(2) =sheetnamebyindex(A1)