Inclue referencia ao FSO...
Public Function ContaArquivos(Driver as String) as Long
Dim FSO as FileSystemObject
Dim Pasta as Folder, SubPasta as Folder
Dim Cont as Long
Set FSO = New FileSystemObject
Set Pasta = FSO.GetFolder(Driver) 'obtem a raiz
Cont = Cont + Pasta.Files.Count
For Each SubPasta In Pasta.SubFolders
DoEvents 'retira se nao quiser um escape
'se vc retirar o DoEvents, pode ser que trave ou fique lento demais...
Cont = Cont + ContaArquivos(SubPasta.Path) 'conta os arquivos em cada pasta
Next
ContaArquivos = Cont 'retorna o total de arquivos...
End Function
Se quiser, implementa o tratamento de erros...
Não costumo dar codigo pronto assim, mas tenho esse pronto, então está ai...
Abraços...