Excel公式:两个批量提取工作表名称方法,简单高效

一个工作簿里有很多工作表,想要提取当前工作簿的所有工作表名称,你会怎么操作?

过去的我,可能会一个个手动去编辑提取,花了不少时间和精力去完成,工作这么努力,差点把自己感动哭了。可是,后来才知道,我那是白瞎折腾。原来,提取当前工作簿的所有工作表名称几个简单步骤就可以批量快速搞定,简直太方便了。

现在简单分享一下。

批量提取工作表名称,有两种方法,一种是使用公式法实现,一种是使用VBA代码实现。

现在我们举实例说明一下操作方法。

比如,以下表格,一个工作簿中有多个工作表。现要批量提取工作表名称。

Excel公式:两个批量提取工作表名称方法,简单高效

一、公式法

1、定义名称

点击菜单的【公式】—【定义名称】,打开【新建名称】对话框,在【名称】处输入一个定义名称,本例输入:sheetname,方便后面在工作表中引用;在【引用位置】处输入:=GET.WORKBOOK(1),然后点击【确定】。

Excel公式:两个批量提取工作表名称方法,简单高效

说明:GET.WORKBOOK是宏表函数,不能直接在单元格中使用,只能定义名称后,使用名称得到结果。=GET.WORKBOOK(1) 列出当前工作簿中的所有工作表名称。

2、输入公式

在第一个工作表的A1单元格输入以下公式:

=IFERROR(INDEX(sheetname,ROW(A1)),””)

然后公式下拉填充,知道出现空白即停止。

Excel公式:两个批量提取工作表名称方法,简单高效

说明:公式里的IFERROR函数的作用是用来屏蔽错误值,让结果更整洁。

到这里,我们可以看到公式用INDEX函数提取出来的工作表名称是带有工作簿名称的,我们需要将工作簿名称去掉,保留工作表名称就可以。

3、去掉工作簿名称

在B1单元格里输入工作表名称,输入完后回车。然后按CTRL+E即可快速填充下面所有单元格的内容。

Excel公式:两个批量提取工作表名称方法,简单高效

现在所有工作表名称就都提取出来了。

二、VBA法

右击工作表名称—【查看代码】,打开VBA代码编辑器,输入以下代码:

Sub GetSheetName()

Dim sht As Worksheet

Dim i As Integer

i = 1

For Each sht In Sheets

Cells(i, 1) = sht.Name

i = i + 1

Next

End Sub

然后点击绿色运行按钮,

Excel公式:两个批量提取工作表名称方法,简单高效

即可在A列批量生成所有工作表的名称。

Excel公式:两个批量提取工作表名称方法,简单高效

好了,今天分享的这个快速提取当前工作簿中所有工作表名称的方法,是不是太好用啦。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件与管理举报,一经查实,本站将立刻删除。