Excel如何提取工作表的表名

0
15

如:需要从工作表名称(例如 “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。

发布回复

请输入评论!
请输入你的名字