Excel精英培训网

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

如何统计指定目录(文件夹)中EXCEL文件的数量

[复制链接]
发表于 2022-4-14 10:33 | 显示全部楼层 |阅读模式
各位网友好,现写VBA代码的文件所在文件夹中有一子文件夹,名称为“存文件”,如何用VBA程序代码统计出“存文件”文件夹中EXCEL文件的数量(扩展名为xlsx).
请指导写出代码。
谢谢
发表于 2022-4-14 16:44 | 显示全部楼层
本帖最后由 vitrel 于 2022-4-15 07:28 编辑

楼主,您好!请参考:
与3楼楼主的情况相同,我当时未发觉,被他先发现,代码F = Dir(ThisWorkbook.Path & "\存文件\")中,最后面的“\”不能省,但上传后看不见了,请自行添加。谢过3楼楼主的提醒。

  1. Sub Test()
  2.     Dim F$, n&
  3.     F = Dir(ThisWorkbook.Path & "\存文件")
  4.     Do Until F = ""
  5.         If Right(F, 5) = ".xlsx" Then n = n + 1
  6.         F = Dir
  7.     Loop
  8.     MsgBox "目录内xlsx文件的数量为:" & n
  9. End Sub
复制代码

回复

使用道具 举报

发表于 2022-4-14 20:41 | 显示全部楼层
本帖最后由 金樽空对月 于 2022-4-14 20:45 编辑
  1. Sub mycount()
  2. Dim myfile, j%
  3. myfile = Dir(ThisWorkbook.Path & "\存文件")
  4. Do
  5.     If myfile Like "*.xlsx" Then j = j + 1
  6.     myfile = Dir
  7. Loop Until myfile = ""
  8. MsgBox "Excel文档的数量为:" & j
  9. End Sub
复制代码
说明:在上面  myfile = Dir(ThisWorkbook.Path & "\存文件\")   这句中 “存文件“后面还应该有一个反斜杠的,估计是因上传格式的问题,显示不出来。

我的文件.rar

39.8 KB, 下载次数: 4

评分

参与人数 1学分 +2 收起 理由
vitrel + 2 太细心了

查看全部评分

回复

使用道具 举报

发表于 2022-4-15 07:25 | 显示全部楼层
金樽空对月 发表于 2022-4-14 20:41
说明:在上面  myfile = Dir(ThisWorkbook.Path & "\存文件\")   这句中 “存文件“后面还应该有一个反斜杠 ...

朋友,您好!
对,您说得没错,路径最后的反斜杠是必须的,我上传前的代码也是有的,上传后就不见了。
谁会想到复制粘贴还会有这情况发生,所以我当时根本没看,还是您细心。
赞一个。
回复

使用道具 举报

发表于 2022-4-15 10:14 | 显示全部楼层
  1. Sub 文件个数()
  2. Dim f, m, k As Integer
  3. f = Application.GetOpenFilename("EXCEL文档,*.xls", , "请点击一个,按Ctrl+A", MultiSelect:=True)
  4. For Each m In f
  5.    k = k + 1
  6. Next m
  7. MsgBox k
  8. End Sub
复制代码
需要运行后,随便点击一个文件,再按Ctrl+A全选,点击打开,输出k,就是文件个数。
如果需要把所有文件路径提取出来,就对m进行赋值到单元格内即可
回复

使用道具 举报

 楼主| 发表于 2022-4-15 15:30 | 显示全部楼层
Do
   
Loop Until myfile = ""
是何意,解释一下
有无好的代码结构,不太明白
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 22:59 , Processed in 0.493281 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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