Excel如何提取工作表的表名

如:需要从工作表名称(例如 “11月”)中提取数字部分(如 “11”),可以通过以下方法实现:

方法 1:使用公式提取 Sheet 名称的数字部分

  1. 使用公式获取当前工作表的名称:

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

    这会返回工作表名称(例如 “11月”)。

  2. 从名称中提取数字部分(假设名称总是以数字开头):

    =LEFT(MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1))), FIND("月", MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1)))) - 1)

    说明:
    • LEFT(...) 提取名称的左侧部分。
    • FIND("月", ...) 找到 “月” 的位置,确定数字部分的长度。

结果:如果工作表名称是 “11月”,则公式返回 11。

方法 2:使用 VBA 提取数字部分

如果需要自动提取工作表名称中的数字,可以使用以下 VBA 脚本:

VBA 脚本:

  1. 按 Alt + F11 打开 VBA 编辑器。

  2. 插入模块并粘贴以下代码:

    Function GetSheetNumber() As Double
    Dim SheetName As String
    Dim NumberOnly As String
    Dim i As Integer
    

    ’ 获取当前工作表的名称 SheetName = Application.Caller.Worksheet.Name

    ’ 提取名称中的数字部分 For i = 1 To Len(SheetName) If IsNumeric(Mid(SheetName, i, 1)) Then NumberOnly = NumberOnly & Mid(SheetName, i, 1) End If Next i

    ’ 转换为数字返回 GetSheetNumber = Val(NumberOnly) End Function

  3. 关闭 VBA 编辑器。

  4. 在 Excel 单元格中输入以下公式:

    =GetSheetNumber()

    结果:如果工作表名称是 “11月”,函数会提取数字 11。