|
更严谨一点应该是这样。。。。。。- Sub test()
- Application.ScreenUpdating = False
- Set fso = CreateObject("scripting.filesystemobject")
- Set ff = fso.getfolder(ThisWorkbook.Path) '取得当前文件夹名
- For Each fff In ff.subfolders 'fff为当前文件夹下所有子文件夹名(全路径)
- col = Replace(fff, ff & "", "") '子文件夹名(列号)
- For Each f In fff.Files 'f为当前子文件夹下所有文件名(全路径)
- r = Val(Replace(f, fff & "", "")) '文件名(行号)
- Workbooks.Open f
- Set sh = ActiveWorkbook.Sheets(1)
- n = 0
- mc = sh.Cells(1, sh.Columns.Count).End(xlToLeft).Column '最大列数
- For i = 1 To mc
- If Application.WorksheetFunction.CountA(sh.Columns(i)) > 0 Then n = n + 1 '把非空列找出来
- Next
- ActiveWorkbook.Close False
- Cells(r, col) = n
- Next
- Next
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|