3

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

在此处输入图像描述

此工作簿的第一个工作表“Resultat”从工作簿中的其他工作表计算数据并将它们呈现为图片所示。

为了使计算正常工作,标记的红色方块中显示的名称必须相同且对应,否则该值将是#####,如您在条目号 2 中看到的那样(单元格 A5 有效并且具有相同的名称为表号 2,但单元格 A8 不起作用,因为它与表号 3 的名称不同)。

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

现在我手动执行此操作,但如果这可以自动化,那将是一个很大的帮助,因为我有很多这些工作簿并且名称不时更改。

4

2 回答 2

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

于 2013-04-17T11:56:25.490 回答
1

创建一个VBA模块并输入以下代码:

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

现在,在工作簿中的任何位置,您都可以

=sheetnamebyindex(2)
=sheetnamebyindex(A1)
于 2013-04-17T11:54:53.997 回答