Hola a todos:

Hace un tiempo respondí a un lector sobre una duda que me envíaba a raíz de este post: LISTAR TODOS LOS ARCHIVOS DE UNA CARPETA Y SUS SUBCARPETAS CON VBA.

La consulta era la siguiente: «Hola. Gracias por sus aportes. Estoy buscando realizar este proceso, pero NO quiero que el código liste todos archivos de una carpeta, sino que sólo los archivos que seleccione. Me podría ayudar con esto?»

Efectivamente, en el post inicial el proceso se basa en listar todos los archivos que contenga la carpeta seleccionada y sus subcarpetas. Precisamente la problemática del código radica programar el recorrido por las carpetas, y esta consulta que envía el lector resulta mucho más sencilla:

De hecho, el código a utilizar sería este:

Sub LISTAR_ARCHIVOS()
'Definimos variables
Dim i As Long, j As Long
Dim nArchivo As String, dir_Archivo As Variant
'Creamos ventana de diálogo para seleccionar los archivos que queremos listar
dir_Archivo = Application.GetOpenFilename(Title:="SELECCIONA ARCHIVOS PARA CONSOLIDAR", MultiSelect:=True)
'Si no seleccionamos archivos, salimos del proceso
If Not IsArray(dir_Archivo) Then
Exit Sub
End If
With ActiveSheet
'Iniciamos un for con para identificar los archivos seleccionados
If IsArray(dir_Archivo) Then
For j = LBound(dir_Archivo) To UBound(dir_Archivo)
i = Application.CountA(Range("A:A")) + 1
nArchivo = dir_Archivo(j)
'pasamos el link de cada archivo seleccionado a la hoja
.Cells(i, 1).Select
.Hyperlinks.Add Anchor:=Selection, Address:=nArchivo, TextToDisplay:=nArchivo
Next j
End If
End With
End Sub

Solo tendremos que seleccionar los archivos, por ejemplo de una carpeta:

LISTAR TODOS LOS ARCHIVOS SELECCIONADOS

Y la macro hará el resto:

LISTAR TODOS LOS ARCHIVOS SELECCIONADOS_1

Y eso es todo, como podéis ver, la macro es muy sencilla y con los comentarios se puede comprender todo el proceso.

Espero que también a vosotros os resulte interesante (y de utilidad).

Descarga el archivo de ejemplo pulsando en: LISTAR TODOS LOS ARCHIVOS SELECCIONADOS

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post