求推荐批量搜索多个EXCEL文件内数据的工具
如题,要找的数据分散在许多EXCEL文件内,一个个找太麻烦了,下过一个excel批量寻找工具 v1.0 官方绿色版,结果试用版只能找5个文件,求无限制的工具,多谢~也许写脚本运行是最快的?
— from Sony D5803, Android 5.1.1 具体点,数据的格式是怎样的,是不是类似数据库的表,找到了如何记录结果,如果不要求工具够高大上的话,写个vba很快的,就是low而已,不过你要先说明是搜索怎样的数据,是不是分布在excel的所有sheet中,等等。 后腿 发表于 2016-3-28 12:26
具体点,数据的格式是怎样的,是不是类似数据库的表,找到了如何记录结果,如果不要求工具够高大上的话,写 ...
就是一般的数字文本,工作表就只找sheet1吧,结果就输出在哪个文件的哪一行就行了,但是要能模糊搜索不分大小写 本帖最后由 后腿 于 2016-3-28 13:00 编辑
testalphagogogo 发表于 2016-3-28 12:54
就是一般的数字文本,工作表就只找sheet1吧,结果就输出在哪个文件的哪一行就行了,但是要能模糊搜索不分 ...
好,吃个饭回来写
忘了问了是不是规整的格式,比如第一行有header,没有特别的格式,没有合并单元格,可以当成一个数据表来使用的?执行效率上有区别
后腿 发表于 2016-3-28 12:58
好,吃个饭回来写
忘了问了是不是规整的格式,比如第一行有header,没有特别的格式,没有合并单元格,可以 ...
特别的格式应该没有,也没有合并单元格,最好能选择一个文件夹后搜索包括子文件夹内的所有XLS和XLSX文件。多谢~ mark , 参考下, 准备抄脚本 本帖最后由 后腿 于 2016-3-28 15:39 编辑
testalphagogogo 发表于 2016-3-28 14:32
特别的格式应该没有,也没有合并单元格,最好能选择一个文件夹后搜索包括子文件夹内的所有XLS和XLSX文件 ...
http://pan.baidu.com/s/1gfEs34J
好啦就酱,打开的时候要允许macro,这个表格有自己的自定义菜单,下面有按钮
当然效果很傻,因为每个文件要打开再关闭……因为我不确定如何找到sheet1(因为第一个sheet不一定叫Sheet1,Sheet1也不一定是第一个sheet),如果可以确定的话有更好的方式(或者纯粹是水平不够完成的不够优雅 后腿 发表于 2016-3-28 15:37
http://pan.baidu.com/s/1gfEs34J
好啦就酱,打开的时候要允许macro,这个表格有自己的自定义菜单,下面有 ...
请问提示“运行时错误13 类型不匹配”是怎么回事?一个目录会出这问题,另一个就没有 testalphagogogo 发表于 2016-3-28 15:48
请问提示“运行时错误13 类型不匹配”是怎么回事?一个目录会出这问题,另一个就没有 ...
啊呀……这个就难搞了,我自己这里测是好的呀,你先把所有excel关掉(进程管理器里面也关掉Excel进程),再试试,还是有问题的话点debug把出错的那行告诉我…… testalphagogogo 发表于 2016-3-28 15:48
请问提示“运行时错误13 类型不匹配”是怎么回事?一个目录会出这问题,另一个就没有 ...
哦不,是你输入要搜索的是什么东西? 后腿 发表于 2016-3-28 15:52
哦不,是你输入要搜索的是什么东西?
只是数字而已,350010之类的 后腿 发表于 2016-3-28 15:52
哦不,是你输入要搜索的是什么东西?
又有新错误,查找QL326,显示XX OF YY CHECKED的时候提示运行时错误432,自动化操作时文件名或类名未找到,调试里面是 Set wb = GetObject(arr_seq(i))这行高亮了 testalphagogogo 发表于 2016-3-28 15:53
只是数字而已,350010之类的
我试过数字、中文、英文字母混合都没问题啊……不知道是哪里错了 testalphagogogo 发表于 2016-3-28 15:56
又有新错误,查找QL326,显示XX OF YY CHECKED的时候提示运行时错误432,自动化操作时文件名或类名未找到 ...
这一个倒是因为我打开了其中一个XLS,估计不能同时读吧。但是上面那个的问题仍然存在 后腿 发表于 2016-3-28 15:58
我试过数字、中文、英文字母混合都没问题啊……不知道是哪里错了
发现原因了,文件夹里有一个0字节的XLS,把它删掉就可以搜索了!另外再问问ADDRESS这栏是什么意思,搜索到的行数还是次数? testalphagogogo 发表于 2016-3-28 16:00
这一个倒是因为我打开了其中一个XLS,估计不能同时读吧。但是上面那个的问题仍然存在 ...
嗯,这个工具是写的很粗糙了……
Set wb = GetObject(arr_seq(i)) 上面那行要改成:
If Left(Mid(arr_seq(i), InStrRev(arr_seq(i), "\") + 1), 2) <> "~$" Then
address是行数,列数 后腿 发表于 2016-3-28 15:58
我试过数字、中文、英文字母混合都没问题啊……不知道是哪里错了
另外能不能把要搜索的内容显示在第一行,文件太多搜索太久的话等搜索完忘记具体搜的哪一个了= =再三感谢~ 懂vba的话也就是几句代码的事。我记得windows自带的搜索可以搜office文件的内容 testalphagogogo 发表于 2016-3-28 16:08
另外能不能把要搜索的内容显示在第一行,文件太多搜索太久的话等搜索完忘记具体搜的哪一个了= =再三感谢 ...
http://pan.baidu.com/s/1slSlqFV
已更新,之前error13是因为那个工作簿的sheet1是空的,现在可以预防这个问题,不会打开临时文件,会在第一行显示这次搜索的是什么
打开已经打开的工作簿会报错,因为懒所以没优化…… 后腿 发表于 2016-3-28 16:22
http://pan.baidu.com/s/1slSlqFV
已更新,之前error13是因为那个工作簿的sheet1是空的,现在可以预防这 ...
精神加鹅65535! testalphagogogo 发表于 2016-3-28 16:24
精神加鹅65535!
等下我智障了……有一部分是从其他东西里面抄过来但是功能有问题
Sub search_files(ByVal fd As Object)
DoEvents
If fd.Files.Count > 0 Then
For Each fl In fd.Files
If is_excel(fl.Name) Then
dic_seq.Add fl.Path, Empty
UserForm1.Caption = "scanning,found:" & dic_seq.Count
End If
Next fl
End If
If fd.SubFolders.Count > 0 Then
For Each sbfd In fd.SubFolders
Call search_files(sbfd)
Next sbfd
End If
End Sub
这个函数应该改成这样,如果不改的话原来的功能是“只有不包含子文件夹的文件夹才把它下面的文件计入”
页:
[1]