Skip to main content

¿Cómo listar todos los archivos en una carpeta y subcarpetas en una hoja de cálculo?

Author: Xiaoyang Last Modified: 2025-06-03

¿Alguna vez has intentado listar todos los nombres de archivo de una carpeta en una hoja de cálculo, incluidos los archivos ubicados dentro de sus subcarpetas? De hecho, no hay una manera directa de listar los nombres de archivo de una carpeta y su subcarpeta en Excel. Sin embargo, hoy te presentaré algunos trucos rápidos para resolver este problema.

Listar todos los nombres de archivo en una carpeta y subcarpeta con código VBA

Listar todos los nombres de archivo en una carpeta y subcarpeta rápidamente y fácilmente con Kutools para Excel


Listar todos los nombres de archivo en una carpeta y subcarpeta con código VBA

Normalmente, Excel no tiene una función integrada para manejar esta tarea, pero puedes aplicar el siguiente código VBA para completar este problema.

1. Activa una nueva hoja de cálculo que listará los nombres de archivo.

2. Mantén presionadas las teclas ALT + F11 en Excel, y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.

3. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.

Código VBA: Listar todos los nombres de archivo en una carpeta y subcarpeta

Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
  rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function

4. Después de pegar el código en el Módulo, presiona la tecla F5 para ejecutar este código, y aparecerá un cuadro de diálogo Macros, selecciona el nombre de macro MainList, y luego haz clic en el botón Ejecutar, ver captura de pantalla:

a screenshot of running the VBA code

5. Y en la ventana Examinar, selecciona la carpeta de la que deseas listar todos los nombres de archivo, incluidas las subcarpetas, ver captura de pantalla:

a screenshot of selecting the folder you want to list all filenames including the subfolders

6. Después de especificar la carpeta, haz clic en el botón Aceptar, y todos los nombres de archivo en la carpeta y sus subcarpetas se habrán listado en la hoja de cálculo actual desde la celda A2, ver capturas de pantalla:

a screenshot of the seleted folder
a screenshot of an arrow
a screenshot listing all filenames from the selected folder and its subfolders

Listar todos los nombres de archivo en una carpeta y subcarpeta rápidamente y fácilmente con Kutools para Excel

Con el código anterior, solo puedes listar los nombres de archivo; a veces, necesitas listar otros atributos, como el tamaño del archivo, el tipo de archivo, la hora de creación, la carpeta que contiene, entre otros. Kutools para Excel contiene una función útil – Lista de Nombres de Archivos, con esta característica, puedes listar rápidamente todos o ciertos tipos de nombres de archivo en una carpeta y sus subcarpetas.

Después de descargar e instalar Kutools para Excel, sigue los siguientes pasos:

1. Haz clic en Empresa > Importar y Exportar > Lista de Nombres de Archivos, ver captura de pantalla:

a screenshot of enabling the Filename List feature of Kutools

2. En el cuadro de diálogo Lista de Nombres de Archivos, realiza las siguientes operaciones:

A: Haz clic a screenshot of the folder iconen el botón para elegir la carpeta de la que deseas listar los nombres de archivo;

B: Especifica el tipo de archivo que deseas listar en la sección Tipo de archivo;

C: Selecciona una unidad de tamaño de archivo que deseas mostrar en la sección Unidad de tamaño de archivo.

Nota: Para listar los nombres de archivo de la subcarpeta, marca Incluir archivos en subdirectorios; también puedes marcar Incluir archivos y carpetas ocultos según sea necesario. Si marcas Crear hipervínculos, se crearán hipervínculos para cada nombre de archivo y carpeta.

a screenshot of configuring the Filename List dialog box

3. Luego haz clic en el botón Aceptar, todos los archivos contenidos en la carpeta seleccionada y sus subcarpetas se mostrarán con los siguientes atributos en una nueva hoja de cálculo. Ver captura de pantalla:

a screenshot listing the details of files of the selected folder

Haz clic para conocer más detalles sobre esta utilidad Lista de Nombres de Archivos.

¡Descarga y prueba gratis Kutools para Excel ahora!


Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!