本文最后更新于 2025年10月10日。
测试方法一有效
在 Excel 中,你可以通过以下几种方法快速获取所有工作表(Sheet)的名称:
方法一:使用 VBA 编辑器(最快且全面)
- 打开 VBA 编辑器:
- 快捷键:
Alt + F11(Windows) /Option + F11(Mac)。
- 快捷键:
- 插入新模块:
- 在菜单栏选择 Insert > Module。
- 输入以下代码:
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 - 运行代码:
- 按
F5或点击工具栏的 ▶️ Run 按钮。
- 按
- 结果:
- 所有工作表名称会自动列在当前工作表的第一列中。
方法二:公式提取(无需代码)
- 定义名称:
- 快捷键
Ctrl + F3打开名称管理器 → 点击 新建。 - 名称:
SheetList
引用位置:=GET.WORKBOOK(1)&T(NOW())
(注:GET.WORKBOOK是宏表函数,适用于 Windows 版 Excel)2. 提取 Sheet 名: - 在任意单元格输入公式:
=INDEX(MID(SheetList,FIND("]",SheetList)+1,99),ROW(A1)) - 下拉填充公式即可列出所有名称。
- 快捷键
方法三:导航窗口(无需代码)
- 显示工作表列表:
- 右键点击左下角工作表导航按钮(四个箭头图标)。
- 弹出窗口会显示所有工作表名称,可直接点击跳转。
- 缺点:仅显示名称,无法复制到单元格中。
方法四:Power Query(适用于 Excel 2016+)
- 创建查询:
- 数据选项卡 → 获取数据 → 启动 Power Query。
- 生成查询列表:
- 左侧导航栏右键点击 → 新建查询 → 其他来源 → 空查询。
- 在公式栏输入:
= #sections ``` - 返回的表格会包含所有工作表名称。
总结推荐
- 快速复制到单元格:优先选择 方法一(VBA)。
- 临时查看:用 方法三(导航窗口)。
- Windows 用户:方法二(公式) 更灵活。
- Excel 365 用户:方法四(Power Query) 兼容性强。
如果有其他需求(如导出为 CSV),可以进一步说明哦! 📁