「Excel技巧」Excel批量提取当前工作簿下的所有工作表名称

文章介绍了如何使用Excel的公式法和VBA代码来批量提取同一工作簿中的所有工作表名称,无需手动操作,大大提高了工作效率。公式法涉及GET.WORKBOOK宏表函数,而VBA法则通过编写简单的脚本来实现。
摘要由CSDN通过智能技术生成

摘自:「Excel技巧」Excel批量提取当前工作簿下的所有工作表名称 (baidu.com)

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

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

现在简单分享一下。

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

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

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

一、公式法

1、定义名称

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

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

2、输入公式

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

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

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

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

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

3、去掉工作簿名称

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

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

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

然后点击绿色运行按钮,

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值