2016 - 2024

感恩一路有你

使用VBA的DIR函数读取文件夹下的Excel表名

浏览量:4185 时间:2024-08-09 07:41:18 作者:采采

在电脑磁盘中,我们常常会遇到大量的数据文件,有时候这些文件都放在同一个文件夹下,而每个文件夹又包含着很多个工作表。那么,如果我们想要把这些工作表的名字提取到一个工作表中,应该怎么做呢?本文将向大家分享一种使用VBA的DIR函数来实现这个目标的方法。

创建一个文件夹,并将相关的Excel表格复制到其中

首先,在电脑磁盘中右击任意位置,选择“新建”-“文件夹”,创建一个新的文件夹。然后,将你所需提取工作表名的Excel表格复制粘贴到这个文件夹中。确保所有需要提取的工作表都在这个文件夹下。

在工作表Sheet1中插入艺术字并设置样式

接下来,在Excel的工作表Sheet1中,点击“插入”-“艺术字”,选择一种喜欢的样式,并输入文字:“提取表名”。然后,在“开始”选项卡中设置形状的填充颜色为红色或者其他你喜欢的颜色。

使用VBA编写提取表名的代码

同时按下Alt F11键,打开Excel的VBA编辑器。在编辑器中,选择“插入”-“模块”来插入一个新的模块。在新的模块中,输入下面关于DIR函数提取表名的代码:

Sub ExtractTableNames()

Dim tableName As String

Dim fileName As String

' 获取文件夹路径

folderPath

' 初始化DIR函数

tableName Dir(folderPath "*.xls*")

' 循环提取表名

Do While tableName <> ""

Sheets("Sheet1").Range("A" ).End(xlUp).Offset(1, 0).Value tableName

tableName Dir

Loop

End Sub

注意,由于工作表可能存在不同的格式,比如xls、xlsx、xlsm等,所以在代码中,我们使用通配符*.xls*来匹配所有这些格式的文件。这样就可以确保所有的工作表都被提取到工作表Sheet1中。

指定宏并运行

关闭VBA编辑器窗口后,回到Excel的工作表Sheet1。找到刚才插入的艺术字“提取表名”,右击它,选择“指定宏”。在弹出的对话框中,选择宏名为“ExtractTableNames”,然后点击“确定”。再次点击“提取表名”的艺术字,就会自动执行宏,并将工作表名提取到Sheet1中。

如果需要删除工作表名中的扩展名,你可以使用Excel的替换功能来实现。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。