新浪博客

excel vba一次性获取文件夹下的所有文件名的方法

2009-05-02 14:54阅读:5,411
小生今天上网下载了一个财务常用报表的文件包,里面有几百个excel工作表,要是手工一个一个的获得文件名的话,那我可是要忙十天半月哦。于是想到昨论坛就是vba论坛,昨不充分利用excel 自身的高级应用呀,呵呵,实现的代码如下,把工作量几天的任务可是一下子就完成了,这就是excel vba给你工作提高效率的结果!
excle vba自动获取同一文件夹下所有工作表的名称红色代码:
按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行
Sub t()
Dim s As FileSearch '定义一个文件搜索对象
Set s = Application.FileSearch
s.LookIn = 'c:\' '注意路径,换成你实际的路径
s.Filename = '*.*' '搜索所有文件
s.Execute '执行搜索
Cells.Delete '表格清空
For i = 1 To s.FoundFiles.Count
Cells(i, 1) = s.FoundFiles(i) '每一行第一列填写一个文件名
Next
End Sub

现在获得的可是带路径的工作表名,去掉前的路径可用以下方法;
=RIGHT(A1,LEN(A1)-FIND('#',SUBSTITUTE(A1,'\','#',LEN(A1)-LEN(SUBSTITUTE(A1,'\',)))))
最后用常规的方法往下拖,就完成了笔者所需的工作表名。
本文测试结果如:http://bbs.vbacn.com/read.php?tid=573

留言板

下载客户端体验更佳,还能发布图片和表情~

亿万博主正在被热评!
999+

给此博文留言吧! 有机会上热评榜! 攒金币兑换礼品!

好的评论会让人崇拜发布评论

我的更多文章

下载客户端阅读体验更佳

APP专享