单元格需要始终显示最后一个工作表名称

单元格需要始终显示最后一个工作表名称

我需要帮助解决一个问题。(该问题已解决)

我正在制作一个工作簿,其中包含以年份作为工作表名称的内容。我正忙着制作一个宏,每次复制 4 年(3 个正常年份和一个闰年)。但要完成我正在做的事情,我需要以下两件事之一:

  1. 一个单元格需要始终显示最后一张表的名称,矿石。
  2. 一个单元格需要显示所选单元格的下一个工作表的值。

我在下面找到了上一张表的 VBA 代码,但我不知道如何调整它以显示下一张表。

Function PrevSheet(RCell As Range)
    Dim xIndex As Long
    Application.Volatile
    xIndex = RCell.Worksheet.Index
    If xIndex > 1 Then _
        PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address)
End Function

好吧,我已经设法解决了我遇到的问题,我发现了如何更改上面的代码,我已经像这样更改了它,以便谁需要它。

Function nextSheet(RCell As Range)
    Dim xIndex As Long
    Application.Volatile
    xIndex = RCell.Worksheet.Index
    If xIndex > 1 Then _
        nextSheet = Worksheets(xIndex + 1).Range(RCell.Address)
End Function

为了防止我的工作表出现错误,我使用了以下代码(=IFERROR(nextSheet(A1); E5)),以便在最后一张(最新)工作表上不会出现错误。E5 上的名称(年份)与最新的工作表名称(年份)相同。

答案1

不确定您正在寻找什么,预期结果的样本会有所帮助,但这可能会让您在没有 VBA 的情况下开始。

在新工作表上创建一个简单的表格(两列)

转到“公式”选项卡并单击“定义名称”,创建一个新名称 SheetNames 并在其中输入 =REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")

在此处输入图片描述

单元格 B2 中的 =IFERROR(INDEX(SheetNames,A2),"")。由于它是一个表格,它将自动填充所有工作表名称。

在此处输入图片描述

保重,布拉德

相关内容