Excel公式: B2:B50公式一式到底,依序列出本工作簿各工作表(左至右)的表名,請教公式?謝謝

Excel公式:
B2:B50公式一式到底,依序列出本工作簿各工作表(左至右)的表名,請教公式?謝謝
2025-01-01 16:04 發佈
去問過AI了沒 別懶到連AI都不問

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 个,剩余单元格将显示为空白。
如果需要进一步调整或遇到问题,请随时告诉我!
sa789andy
sa789andy 樓主

感謝解答,找到了ChatGPT了,還沒用過。

2025-01-02 15:50
sa789andy
sa789andy 樓主

之前問過Microsoft Copilot給的答案不甚完美,再來此提問。

2025-01-02 19:42
sa789andy
sa789andy 樓主

感謝提示,很有用。

2025-01-02 15:55
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?