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

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

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

现在简单分享一下。

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

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

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

08915a9dffd1474f871f25c3c2fabd60.jpg
08915a9dffd1474f871f25c3c2fabd60-1.jpg

 

一、公式法

1、定义名称

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

c890d89d4dd543b6a53371e9d4b084b2.jpg
c890d89d4dd543b6a53371e9d4b084b2-1.jpg

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

2、输入公式

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

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

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

1180f408726649abb89ac88ec7d1c796.jpg
1180f408726649abb89ac88ec7d1c796-1.jpg

 

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

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

3、去掉工作簿名称

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

b5fc6a0e9d0f47409d74267f1fe8059f-1.gif
b5fc6a0e9d0f47409d74267f1fe8059f-1-1.gif

 

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

二、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

然后点击绿色运行按钮,

451546c8f7664360b0c779e2f8aae0c3.jpg
451546c8f7664360b0c779e2f8aae0c3-1.jpg

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

761893fb4b9747d3a95ba9b71db10300.gif
761893fb4b9747d3a95ba9b71db10300-1.gif

 

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

原文链接:https://jiankeweb.com/articles/5724.html,转载请注明出处。

0
显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录