Excel公式:
B2:B50公式一式到底,依序列出本工作簿各工作表(左至右)的表名,請教公式?謝謝
Excel公式: B2:B50公式一式到底,依序列出本工作簿各工作表(左至右)的表名,請教公式?
ChatGPT 說:
ChatGPT
在 Excel 中,要在单元格范围(如 B2:B50)中依次列出工作簿中各工作表的表名,可以借助以下方法实现:
方法:使用 VBA 自定义函数
由于 Excel 公式本身无法直接获取工作表列表,我们需要借助 VBA 创建一个自定义函数。以下是具体步骤:
打开 VBA 编辑器
按下 Alt + F11 打开 VBA 编辑器。
插入模块
在左侧的项目窗口中,右键单击工作簿,选择 插入 > 模块。
输入以下代码:
vba
複製程式碼
Function GetSheetName(Index As Long) As String
If Index > 0 And Index <= ThisWorkbook.Sheets.Count Then
GetSheetName = ThisWorkbook.Sheets(Index).Name
Else
GetSheetName = ""
End If
End Function
关闭 VBA 编辑器
按 Ctrl + S 保存,然后关闭 VBA 编辑器。
启用宏
在 Excel 中,确保已启用宏运行功能。
使用公式
在 B2 单元格中输入以下公式,然后向下填充:
excel
複製程式碼
=IFERROR(GetSheetName(ROW(A1)), "")
公式解析:
GetSheetName(ROW(A1)):调用自定义函数,按行号依次获取工作表名称。
ROW(A1):返回当前行的编号(如在第 2 行,返回 1;在第 3 行,返回 2)。
IFERROR:避免超出工作表数量时返回错误。
最终效果:
B2:B50 将依次列出工作簿中的所有工作表名称。如果工作簿中的工作表少于 49 个,剩余单元格将显示为空白。
如果需要进一步调整或遇到问题,请随时告诉我!
在Excel工作簿中獲取所有工作表名稱列表的3種快速方法
內文搜尋

X