在excel中怎么快速索取所有sheet名

2 次阅读

本文最后更新于 2025年10月10日。

测试方法一有效

在 Excel 中,你可以通过以下几种方法快速获取所有工作表(Sheet)的名称:


方法一:使用 VBA 编辑器(最快且全面)

  1. 打开 VBA 编辑器
    • 快捷键:Alt + F11(Windows) / Option + F11(Mac)。
  2. 插入新模块
    • 在菜单栏选择 Insert > Module
  3. 输入以下代码
    Sub ListAllSheets()
        Dim ws As Worksheet
        Dim i As Integer
        i = 1
        Cells.Clear ' 清空当前工作表内容
        For Each ws In Worksheets
            Cells(i, 1).Value = ws.Name ' 将工作表名写入第一列
            i = i + 1
        Next ws
    End Sub
    
  4. 运行代码
    • F5 或点击工具栏的 ▶️ Run 按钮。
  5. 结果
    • 所有工作表名称会自动列在当前工作表的第一列中。

方法二:公式提取(无需代码)

  1. 定义名称
    • 快捷键 Ctrl + F3 打开名称管理器 → 点击 新建
    • 名称:SheetList
      引用位置:=GET.WORKBOOK(1)&T(NOW())
      (注:GET.WORKBOOK 是宏表函数,适用于 Windows 版 Excel)2. 提取 Sheet 名
    • 在任意单元格输入公式:
      =INDEX(MID(SheetList,FIND("]",SheetList)+1,99),ROW(A1))
      
    • 下拉填充公式即可列出所有名称。

方法三:导航窗口(无需代码)

  1. 显示工作表列表
    • 右键点击左下角工作表导航按钮(四个箭头图标)。
    • 弹出窗口会显示所有工作表名称,可直接点击跳转。
    • 缺点:仅显示名称,无法复制到单元格中。

方法四:Power Query(适用于 Excel 2016+)

  1. 创建查询
    • 数据选项卡 → 获取数据启动 Power Query
  2. 生成查询列表
    • 左侧导航栏右键点击 → 新建查询其他来源空查询
    • 在公式栏输入:
      = #sections     ```
      
    • 返回的表格会包含所有工作表名称。

总结推荐

  • 快速复制到单元格:优先选择 方法一(VBA)
  • 临时查看:用 方法三(导航窗口)
  • Windows 用户方法二(公式) 更灵活。
  • Excel 365 用户方法四(Power Query) 兼容性强。

如果有其他需求(如导出为 CSV),可以进一步说明哦! 📁