Excel - Listar carpetas y subarpetas por meses

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Listar carpetas y subarpetas por meses

Publicado por Ricard (8 intervenciones) el 28/09/2019 09:14:22
Buenos días:
Tengo este código que me lista carpetas y subcarpetas y me general el vículo al documento correspondiente;

Sub LISTAR_ARCHIVOS()
'Declaramos variables
Dim sFSO As Object, Directorio As String
Dim dir_Archivo As Variant
'Abrimos ventana de diálogo para seleccionar carpeta
Set dir_Archivo = Application.FileDialog(msoFileDialogFolderPicker)
dir_Archivo.Show
'Si no seleccionamos nada salimos del proceso
If dir_Archivo.SelectedItems.Count = 0 Then
Exit Sub
End If
'Capturamos el directorio del archivo seleccionado
Directorio = dir_Archivo.SelectedItems(1)
'Creamos objeto y ejecutamos función Carpeta
Set sFSO = CreateObject("Scripting.FileSystemObject")
CARPETA sFSO.GetFolder(Directorio)
End Sub

Function CARPETA(ByVal nCarpeta)
'Declaramos variables
Dim j As Long, Subcarpeta As Object
'Con la hoja activa
With ActiveSheet
'Iniciamos dos loop, uno que recorre las carpetas
For Each Subcarpeta In nCarpeta.SubFolders
CARPETA Subcarpeta
Next
j = Application.CountA(.Range("A:A")) + 1
'y otro que recorre los archivos y los indexa y activa hipervínculo
For Each File In nCarpeta.Files
.Cells(j, 1).Select
.Hyperlinks.Add Anchor:=Selection, Address:=File.Path, TextToDisplay:=File.Path
j = j + 1
Next
End With
End Function

Como podrán comprobar se me abre un cuadro de dialogo para seleccionar la ruta desde la que quiero listar los archivos. El problema que tengo es que el número de registros que manejo cada vez es mayor y se ralentiza mucho el proceso.
La Información que tengo organizada es la siguiente
- Carpeta Inicial Nombre y DNI del Cliente,
- dentro de cada cliente Subcarpetas altas, bajas, compras, proformas, facturas....
- dentro de estas subcarpetas el año 2019, 2020
- y dentro de estas el mes 01. enero 19 02. febrero 19........12. Diciembre 19.....

Habría alguna manera de listar mediante código todos los archivos que por ejemplo he incluido en el mes 01 Enero,
Hay una formula manual para el que no la conozca que sería ir al explorador de windows, en buscar introducir el mes 01 Enero y despúes copiar ruta de acceso, pero el procceso es mas lento. Si alguien puede ayudarme se lo agradecería enormemente. Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder