LISTAR TODOS LOS ARCHIVOS SELECCIONADOS

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

Anuncios

2 pensamientos en “LISTAR TODOS LOS ARCHIVOS SELECCIONADOS

  1. buen dia como estas, excelente aporte, una pregunta se podría mostrar, todos los nombres y su extensión sin la ruta como tal?, necesito hacer eso pero que me liste en una hoja todo lo que posee la carpeta solo el nombre archivo y su extensión únicamente!!

    Me gusta

    • Hola Yordin:

      Ta sencillo como sustituir la parte del hipervínculo:

      .Cells(i, 1).Select
      .Hyperlinks.Add Anchor:=Selection, Address:=nArchivo, TextToDisplay:=nArchivo

      Por esto.

      nombre = Right(nArchivo, Len(nArchivo) - InStrRev(nArchivo, "\"))
      .Cells(i, 1) = nombre

      Saludos

      Me gusta

¿Te ha gustado?, Realiza un comentario.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.