怎么快速提取一个excel文件中的所有工作表名?

怎么快速提取一个excel文件中的所有工作表名?

1.利用公式,首先我们打开工具栏中的“公式”选项卡,点击下拉菜单中的“定义名称”。

2.定义一个名称,以定义为“abc”为例,另外在引用位值处输入“=get.workbook(1)”,然后点击“确定”。

3.接着我们随便点击一个单元格,在其中输入以下公式“=INDEX(abc,ROW(A1)&T(NOW()))”,然后直接在键盘上点击“Enter”即可看到这个单元格中已经包含第一个工作表名了,接着我们用鼠标左键下拉即可得到所有的工作表的名称。

4.从以上得到的名称可以看出,我们得到的名称除了工作表名称外还有工作薄名称,所以接下来我们还要去除工作薄名称,首先选中刚刚得到的所有工作表名称,Ctrl+c(或者右键点击复制),然后随便选中一个单元格,点击鼠标右键,选择“选择性粘贴”中的“值”即完成粘贴。

5.接着我们选中粘贴的所有工作表名称,在“数据”下拉菜单中点击“分列”进入以下窗口,选择“固定宽度”后点击“下一步”。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-13
在日常办公中经常需要提取一个excel工作薄中所有工作表的名称以方便后期的数据统计,下面我就跟大家分享几个快速提取所有工作表名称的方法。
开启分步阅读模式
工具材料:
Excel 2010
方法/步骤1
01
首先,我分享第一个方法,这个方法可是非常简单的哦。打开一个含有多个工作表的excel工作薄,然后新建一个工作表,此处命名为“汇总表”,如下图所示。

02
找到“查看代码”并打开,查找方法如下图所示,有以下两个方法:1.鼠标右键点击“汇总表”,在下拉菜单中找到“查看代码”;2.找到工具栏中的“开发工具”,可以看到“查看代码”在“控件”下拉菜单中。

03
点击“查看代码”后进入如下对话框,双击“sheet7(汇总表)”可以看到右边弹出sheet7代码输入框,在其中输入以下内容:
Sub a()
For Each sh In Sheets
k = k + 1
Cells(k, 1) = sh.Name
Next
End Sub
输入后点击工具栏中的“运行”,点击下拉菜单中的“运行子过程/用户窗体”,运行完毕后即完成所有工作表名的提取。

04
接下来点击“工程”中的“查看对象”即可回到工作薄中,我们可以看到工作表名已经全部提取出来了,是不是很简单呢。

方法/步骤2
01
这里还有另外一个方法,就是利用公式,首先我们打开工具栏中的“公式”选项卡,点击下拉菜单中的“定义名称”。

02
点击后进入如下窗口,我们随便定义一个名称,以定义为“abc”为例,另外在引用位值处输入“=get.workbook(1)”,然后点击“确定”。

03
接着我们随便点击一个单元格,在其中输入以下公式“=INDEX(abc,ROW(A1)&T(NOW()))”,然后直接在键盘上点击“Enter”即可看到这个单元格中已经包含第一个工作表名了,接着我们用鼠标左键下拉即可得到所有的工作表的名称。

04
从以上得到的名称可以看出,我们得到的名称除了工作表名称外还有工作薄名称,所以接下来我们还要去除工作薄名称,首先选中刚刚得到的所有工作表名称,Ctrl+c(或者右键点击复制),然后随便选中一个单元格,点击鼠标右键,选择“选择性粘贴”中的“值”即完成粘贴。

05
接着我们选中粘贴的所有工作表名称,在“数据”下拉菜单中点击“分列”进入以下窗口,选择“固定宽度”后点击“下一步”。

06
点击后进入如下窗口,用鼠标左键点击标尺中想要分割的位置即可在工作薄名称与工作表名称之间形成分割线,然后点击“下一步”。

07
点击后选择如下窗口的“不导入此列(跳过)”,点击“完成”即可完成工作薄名称去除。

方法/步骤3
01
第三个方法跟第二个方法有些相似,前面都是利用公式,首先我们同样选择“公式”,定义一个名称,还是以定义为“abc”为例,引用位值处输入“=get.workbook(1)”,然后点击“确定”。

02
接着在同一个列中同时选择6个单元格(有几个工作表就选择几个单元格),在其中输入公式“=TRANSPOSE(abc),然后再键盘后输入“Ctrl+Shift+Enter”,即可看到所有单元格中已经包含了所有的工作表名。

03
但是同方法二一样,我们得到的名称除了工作表名称外还有工作薄名称,所以接下来我们还要去除工作薄名称,方法就同方法二中的4-7步骤。
特别提示
注意事项:方法二公式中 (NOW()) 是用来时时刷新公式用的,所以如果工作表名有变化的话也可以及时更新,不信的话大家可以试试哦。
第2个回答  2020-10-16

'打开表格-按ALT+F11-点击插入-点击模块-粘贴代码
Function 提取表名()
For l = 1 To Sheets.Count
t = t & "," & Sheets(l).Name
Next
提取表名 = Right(t, Len(t) - 1)
End Function

第3个回答  2020-10-13

Excel怎样快速生成工作表目录