Sei sulla pagina 1di 5

22/3/2019 Copiar nombres de archivos de una carpeta a Excel - VBA

 MENÚ

Copiar nombres de archivos de una carpeta


a excel
por Quique Arranz

En ocasiones me han preguntado si se podía saber todos los archivos que hay

en una carpeta y poder listarlos… pues claro que se puede contesté


rápidamente. Todo lo que necesitas es una macro de VBA muy sencilla para

obtener estos nombres de archivo. La idea es copiar nombres de archivos de


una carpeta a Excel, así de sencillo, en una columna tener todo el listado.

CÓDIGO PARA COPIAR NOMBRES DE ARCHIVOS DE UNA


CARPETA A EXCEL

El código de VBA lo he escrito basándome en pedacitos que he ido encontrando


en la web… es decir, ya mucho escrito pero había que ponerlo a nuestro gusto y
añadirle las explicaciones pertinentes. El código se basa en estos sencillos

pasos:

1. Seleccionar gráficamente con un pop-up la carpeta de la que se


quieren copiar nombres de archivos de una carpeta a excel

2. Comprobar que la carpeta no está vacía


3. Hacer un bucle comprobando que el archivo no es vacío e ir poniéndolo
en la celda correspondiente

Uso de cookies
EsteElsitio
código del
web utiliza quepara
cookies estamos hablando
que usted tenga es el siguiente:
la mejor experiencia 
de usuario. Si continúa navegando está dando su consentimiento
para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información
ACEPTAR

https://excelyvba.com/copiar-nombres-de-archivos-de-una-carpeta-a-excel/ 1/5
22/3/2019 Copiar nombres de archivos de una carpeta a Excel - VBA

Option Explicit

Sub Obtener_nombres()

Dim fila As Long


Dim Ruta_elegida, Nombre_archivo, Ruta_inicial

Ruta_inicial = "C:\" '<<< Donde comienzo a mirar

With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Selecciona una carpeta"
.InitialFileName = Ruta_inicial
.Show
If .SelectedItems.Count <> 0 Then 'Compruebo que se ha seleccionado una
Ruta_elegida = .SelectedItems(1) & "\" 'Ruta que he elegido
Nombre_archivo = Dir(Ruta_elegida) 'primer archivo de la carpeta
Do While Nombre_archivo <> ""
Cells(7, 1).Offset(fila) = Nombre_archivo
fila = fila + 1
Nombre_archivo = Dir 'siguiente archivo
Loop
End If
End With
End Sub

 EXPLICACIÓN

Como ya hemos explicado previamente, el código es muy sencillo, pero


necesita de algunas explicaciones para poder entenderlo bien.

El siguiente pedacito de código es el que nos permite personalizar el pop-up de

selección de carpeta en VBA:


Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento
para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información
Application.FileDialog(msoFileDialogFolderPicker)
ACEPTAR

il "S l i "
https://excelyvba.com/copiar-nombres-de-archivos-de-una-carpeta-a-excel/ 2/5
22/3/2019 Copiar nombres de archivos de una carpeta a Excel - VBA

.Title = "Selecciona una carpeta"


.InitialFileName = Ruta_inicial
.Show

Una vez hecho esto compruebo que se ha seleccionado alguna carpeta con

esta comprobación:

If .SelectedItems.Count <> 0 Then 'Compruebo que se ha seleccionado una car

Finalmente voy recorriendo todos los archivos de la carpeta comprobando que


no sean vacíos y pegándolos en su correspondiente celda (una más abajo que

la anterior):

Do While Nombre_archivo <> ""


Cells(7, 1).Offset(fila) = Nombre_archivo
fila = fila + 1
Nombre_archivo = Dir 'siguiente archivo
Loop

DESCARGABLE
Para poder esto desde tú casa tienes dos opciones, o copiar el código y hacerlo

tú mismo o utilizar este archivo que os dejo para que podáis


descargarlo: Extraer nombres de archivo de una carpeta

Quique Arranz
Uso de cookies Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos
años.
Este sitio web utiliza cookies para Adquirió
que su conocimiento
usted tenga a través
la mejor experiencia dede GoogleSiycontinúa
usuario. de infinitas pruebas
navegando y más
está pruebas.
dando 
su consentimiento
para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información
Además, Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la
ACEPTAR

https://excelyvba.com/copiar-nombres-de-archivos-de-una-carpeta-a-excel/ 3/5
22/3/2019 Copiar nombres de archivos de una carpeta a Excel - VBA

cerveza… Quique es el fundador de esta web y frecuentemente se dedica a escribir… o


cuando saca un hueco más bien.

 El truco del gurú, Productividad

LO MÁS LEÍDO

Fórmulas Excel – La guía más completa

Tablas Dinámicas en Excel – Tutorial

Formato condicional de una celda dependiendo del…

Curso de Excel básico – Curso Gratuito

Curso de Excel Avanzado

Gráficos Excel – Todo lo que necesitas saber

Función BUSCARV – Tutorial y ejercicio

ÉCHALE UN VISTAZO

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento
para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información
ACEPTAR

https://excelyvba.com/copiar-nombres-de-archivos-de-una-carpeta-a-excel/ 4/5
22/3/2019 Copiar nombres de archivos de una carpeta a Excel - VBA

ÚLTIMAS ENTRADAS

Calendario Excel 2018

Reducir el tamaño de un archivo Excel

¿Qué es una tabla dinámica?

Cómo crear funciones en Excel con VBA

Como pasar una fecha en texto a número

Una web de Quique Arranz


EXCELyVBA.COM © | 2019

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento
para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información
ACEPTAR

https://excelyvba.com/copiar-nombres-de-archivos-de-una-carpeta-a-excel/ 5/5

Potrebbero piacerti anche