Macro para Listar carpetas (no archivos)

Quisiera que me ayudaran por favor con un código para realizar una macro que me liste únicamente las carpetas que hay en una ruta (no los archivos que hay adentro de ellas), con el nombre y la fecha de creación y ruta.

1 respuesta

Respuesta
1

Te dejo la macro solicitada.

1 - Estoy considerando que en A1 colocarás ruta principal (sin barras)

2 - La lista comenzará en A2 colocando en distintas col: ruta, nombre de subcarpeta y fecha de creación.

Ajusta estas referencias a tu modelo. Para el punto 1 otra opción es utilizar un cuadro del tipo InputBox.

Sub listarSubcarpetas()
'x Elsamatilde
Dim fs, carpeta, subcarpeta As Object
Dim ruta As String, filx As Long
Set fs = CreateObject("Scripting.FileSystemObject")
'la ruta de la carpeta principal se obtiene de la celda A1 (SIN BARRAS)
ruta = [A1]
'fila donde empezará la lista de subcarpetas obtenidas
filx = 2
'si la celda está vacía cancela
If ruta = "" Then Exit Sub
'contempla posible error de ruta no hallada
On Error GoTo sinRuta
Set carpeta = fs.GetFolder(ruta)
'se buscan las subcarpetas de la ruta solicitada
For Each subcarpeta In carpeta.SubFolders
    Range("A" & filx) = ruta
    Range("B" & filx) = subcarpeta.Name
    Range("C" & filx) = FileDateTime(subcarpeta)
    filx = filx + 1
Next
Exit Sub
sinRuta:
    [B1] = "No se encontró la ruta indicada en A1"
End Sub

Sdos y no olvides valorar la respuesta (Excelente o buena) si el tema quedó resuelto... sino comenta y lo seguimos tratando.

¡Gracias! 

Hola Elsa....

Te agradezco mucho tu respuesta, esta genial era justo lo que necesitaba...mil y mil gracias

Hola Elsa!!

Que pena te molesto de nuevo, tu código me funciono de maravilla.  Este código lo requiero aplicar en 5 rutas.  Pero requiero que el resultado sea listado en la misma hoja y de manera acumulada.  Para esto debo generar la macro  en 5 hojas y luego consolidar la información en una unica hoja y de manera acumulada? o existe la forma de hacerlo en una única macro? 

Con mucho gusto te desarrollaré otra macro pero deja una nueva consulta en el tablón Excel. Inicia el mensaje con el texto Para Elsa así la encuentro.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas