You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改VBA代码批量统计J2:J1000路径下DOCX文件数至I2:I1000

批量统计多路径下DOCX文件数量的VBA代码

以下是修改后的VBA代码,可实现批量统计J2:J1000每个路径下的DOCX文件数,并写入对应I列单元格:

Sub BatchCountDOCX()
    Dim Path As String, filename As String
    Dim count As Integer
    Dim i As Long ' 用Long适配更大行号范围
    
    ' 遍历第2行到第1000行的目标路径
    For i = 2 To 1000
        ' 重置计数,避免上一次结果干扰
        count = 0
        ' 获取当前行J列的路径
        Path = Cells(i, "J").Value
        
        ' 跳过空路径,对应I列填0
        If Path = "" Then
            Cells(i, "I").Value = 0
            GoTo NextRow
        End If
        
        ' 确保路径末尾带反斜杠,避免拼接错误
        If Right(Path, 1) <> "\" Then
            Path = Path & "\"
        End If
        
        ' 拼接DOCX文件筛选规则
        Path = Path & "*.docx"
        
        On Error Resume Next
        filename = Dir(Path)
        ' 遍历统计所有匹配的DOCX文件
        Do While filename <> ""
            count = count + 1
            filename = Dir()
        Loop
        On Error GoTo 0 ' 恢复默认错误处理
        
        ' 将结果写入对应I列单元格
        Cells(i, "I").Value = count
        
NextRow:
    Next i
End Sub

关键改动说明:

  • 新增循环遍历逻辑:通过For i = 2 To 1000逐行处理J列的路径,覆盖J2到J1000的所有目标路径
  • 优化路径处理:自动为路径末尾补充反斜杠,避免出现C:\test*.docx这类错误路径;遇到空路径时直接给对应I列赋值0
  • 重置计数变量:每次循环开始时将count归零,确保每行统计结果独立
  • 恢复错误处理:统计完成后恢复默认错误机制,避免全局忽略错误导致的潜在问题
  • 行号类型优化:改用Long存储行号,适配更大的行范围(即使后续超过1000行也无需修改)

内容的提问来源于stack exchange,提问作者Paliouras George

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:42:35