Requirement:
The user needs to look in a lot of individual network folders and get a count of all files and/or subfolders within that specific folder.
The user would like to loop through a range of folder addresses as defines in a column from excel then write the file and/or subfolder count to another range of cells next to the address list.
Basically column A1 through A2000 list a set of network paths that I need to scan for files and subfolders and get a count of each written into column B (file count) and C (subfolder count). A1 is \\\folder\subfolder\ so B1 should show count of files here and C1 should show count of subfolders here.
Solution:
Sub CountFilesAndFolders() Dim wsSht As Worksheet Dim FSO As Object, Folder As Object, SubFolder As Object Dim sFolder As String Dim j As Long, k As Long 'assume the first sheet in this book contains the data Set wsSht = ThisWorkbook.Sheets(1) With wsSht 'create the file system object Set FSO = CreateObject("Scripting.FileSystemObject") 'loop through all the rows from 1 to last row in column A For j = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row sFolder = .Cells(j, 1) 'check if the folder exists If FSO.FolderExists(sFolder) <> False Then 'set up the folder object Set Folder = FSO.GetFolder(sFolder) 'write out the file and subfolder count .Cells(j, 2).Value = Folder.Files.Count 'Column B = file count, root folder .Cells(j, 3).Value = Folder.SubFolders.Count 'Column C = folder count k = 0 'this is optional - can write out the total number of files in the sub-folders into Column D For Each SubFolder In Folder.SubFolders k = k + SubFolder.Files.Count Next .Cells(j, 4).Value = k End If Next End With 'clean up Set FSO = Nothing Set Folder = Nothing: Set SubFolder = Nothing Set wsSht = Nothing End Sub
Obtained from the OzGrid Help Forum.
Solution provided by gijsmo.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
How to use VBA code to output multiple worksheets to separate workbooks |
How to use VBA code to generate report based on criteria |
How to use Excel VBA code to hide based on criteria |
How to protect VBA source code from view |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.