如何生成目录对应工作表 (如何快速命名工作表sheet名称)

工作表有时候会有几十个,甚至上百个,可是VBA也不太会用,这时候该怎么办呢。总不能一个一个的手工输入吧,不用VBA有没有简单一点的办法呢,答案是肯定的。

我们可以用宏表函数来调取,宏表函数是在VBA之前发明的一种东西,虽然现在很多都使用VBA了,但是宏表函数在目前的版本还是可以调取的,它是一个比VBA要简单的多的应用,但要注意的是,它只能在定义名称中使用,但这并不影响它的简单、好用的优点。

下面是我做的一个例子,当然我的例子做的相对简单些,有A-I这么几张表,现在要获取工作表的名称,做成一个列表:

如何快速命名工作表sheet名称,怎么快速提取各个工作表的名称

实现这个我们用到了GET.WORKBOOK这个宏表函数,我们打开定义名称,在名称中输入“工作表”(这个地方看大家习惯,输入自己喜欢的名字就好),引用位置输入=GET.WORKBOOK(1),GET.WORKBOOK(1)里的1是固定用法,1代表所有工作表的名称。

如何快速命名工作表sheet名称,怎么快速提取各个工作表的名称

然后我们在A表中的A1输入=INDEX(工作表,ROW(A1)),然后向下复制就得到了如下的结果:

如何快速命名工作表sheet名称,怎么快速提取各个工作表的名称

然后我们看到前面还带了工作簿1字样,我们稍作处理下,利用MID函数与LEN函数与我们上面输入的公式进行嵌套,而实现工作表名称的提取,在A1单元格输入=MID(INDEX(工作表,ROW(A1)),7,LEN(INDEX(工作表,ROW(A1)))-6),然后向下复制,可以得到如下结果:

如何快速命名工作表sheet名称,怎么快速提取各个工作表的名称

现在再补充一个知识点,如果想知道有多少张表,我们也是可以很容易实现的,那就是GET.WORKBOOK(4)。我们很容易得到结果:

如何快速命名工作表sheet名称,怎么快速提取各个工作表的名称

图中的几张表是经过定义名称得到的,大家一定要注意。

如果喜欢我的文章,欢迎关注微信公众号:跟我学EXCEL图表