EXCEL所有工作表名称汇总

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:57:34
怎样把EXCEL所有工作表名称汇总到一个工作表上?

把这段代码复制到你的工作簿VBE窗口中,运行一下,就会在第一张工作表的第一列列出工作簿中的所有工作表名称,若不是想放在第一张工作表上,可更改代码中的WorkSheets(1)括号里的值。

Sub GetShNames()
i = i + 1
For Each wb In ThisWorkbook.Sheets
WorkSheets(1).Cells(i, 1) = wb.Name
i = i + 1
Next
End Sub

alt+F11打开VB编辑器----插入----模块
右侧空白区域里复制如下代码:

Function gname(x As Integer)
If x = 0 Then
gname = ActiveSheet.Name

ElseIf x > 0 And x <= Sheets.Count Then
gname = Sheets(x).Name
ElseIf x > Sheets.Count Then
gname = "超出范围"
End If
Application.Volatile
End Function

关闭VB编辑器,在A1(找一个空列的第一行都可以)里输入 =gname(ROW()) 公式一直下拉至出现“超出范围”为止

楼上好方法。补充一下,按ALT+F11进入VBE编辑器,把代码复制进去,按F5运行如果没运用过VBA,这个说明我觉得还是很有必要的

另外,Sheet1工作表(没有重命名的话)的A列不要放数据,会被覆盖掉