Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3660|回复: 2

[已解决]如何统计满足条件的文件个数

[复制链接]
发表于 2015-4-17 12:10 | 显示全部楼层 |阅读模式
各位大侠,我想问一下如何统计一个文件夹中满足条件的文件夹或者文件的个数,比如附件里,如何按照excel表中xh字段每个单元格的内容统计文件夹zy下文件名称包含该内容的文件个数,并把统计结果存放到对应的个数字段。谢谢!
最佳答案
2015-4-17 16:23
  1. Dim w(1 To 10000), s%
  2. Sub test()
  3.     Erase w: s = 0
  4.     mypath = ThisWorkbook.Path & ""
  5.     zdir mypath
  6.     arr = [a1].CurrentRegion
  7.     For i = 2 To UBound(arr)
  8.         For k = 1 To s
  9.             f = w(k)
  10.             If InStr(f, arr(i, 1)) > 0 Then arr(i, 2) = arr(i, 2) + 1
  11.         Next
  12.     Next
  13.     [a1].CurrentRegion = arr
  14. End Sub
  15. Sub zdir(p)      '递归获得本文件夹及所有子文件夹内的文件名及子文件夹名
  16.   Set fs = CreateObject("scripting.filesystemobject")
  17.   For Each f In fs.GetFolder(p).Files
  18.     If f <> ThisWorkbook.FullName Then s = s + 1: w(s) = f
  19.   Next
  20.   For Each m In fs.GetFolder(p).SubFolders
  21.     s = s + 1: w(s) = m
  22.     zdir m
  23.   Next
  24. End Sub
复制代码

样例.rar

6.33 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-4-17 16:23 | 显示全部楼层    本楼为最佳答案   
  1. Dim w(1 To 10000), s%
  2. Sub test()
  3.     Erase w: s = 0
  4.     mypath = ThisWorkbook.Path & ""
  5.     zdir mypath
  6.     arr = [a1].CurrentRegion
  7.     For i = 2 To UBound(arr)
  8.         For k = 1 To s
  9.             f = w(k)
  10.             If InStr(f, arr(i, 1)) > 0 Then arr(i, 2) = arr(i, 2) + 1
  11.         Next
  12.     Next
  13.     [a1].CurrentRegion = arr
  14. End Sub
  15. Sub zdir(p)      '递归获得本文件夹及所有子文件夹内的文件名及子文件夹名
  16.   Set fs = CreateObject("scripting.filesystemobject")
  17.   For Each f In fs.GetFolder(p).Files
  18.     If f <> ThisWorkbook.FullName Then s = s + 1: w(s) = f
  19.   Next
  20.   For Each m In fs.GetFolder(p).SubFolders
  21.     s = s + 1: w(s) = m
  22.     zdir m
  23.   Next
  24. End Sub
复制代码

统计文件个数.rar

16.69 KB, 下载次数: 18

回复

使用道具 举报

 楼主| 发表于 2015-4-21 00:49 | 显示全部楼层
grf1973 发表于 2015-4-17 16:23

谢谢,非常好用,就是有一点:如果重复点按钮1,统计的结果会不断累加。不过,现在的这个结果已经可以解决我的问题了,非常感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 22:07 , Processed in 0.369328 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表