Macro EXCEL avanzado búsqueda de archivos

Bien día a todos. Solicitaba de su apoyo en tratar de crear una macro para búsqueda de archivos.

Es decir por ejemplo, en el rango de A2:A2000 tengo nombres de archivos que se encuentran en una carpeta predeterminada, en la celda A2 se encuentra e nombre de un archivo diferente al de A3 y así sucesivamente. Necesito desarrollar una Macro que busque el nombre del archivo de A2 y en B2 me marque si existe o no en dicha carpeta, es decir que me ponga un "SI" o "VERDADERO" si existe y si no existe un "NO" o un "FALSO" o de plano no ponga nada. Consiguiente busque el nombre del archivo A3 y realice la misma acción y la ponga en B3, busque el de A4 y ponga el resultado en B4 y de esa manera de B2:B2000.

Espero poder contar con su valioso apoyo . Envió un cordial saludo.

1 respuesta

Respuesta
1

Te dejo la macro que necesitas... solo ajusta la ruta de la carpeta donde se encontrarán los archivos.

Sub buscaArchivo()
'x Elsamatilde
ruta = "C:\Users\elsam\Downloads\AL_TRABAJO\"     'Ajustar
'recorre la col A hasta el final de datos
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
    'el nombre del archivo debe contener la extensión
    nbre = Range("A" & i)
    If Dir(ruta & nbre) <> "" Then Range("B" & i) = "SI"
Next i
End Sub

Observa en la imagen que los nombres contienen la extensión. Si no la tienen pero es siempre la misma, por ejemplo 'xlsm' la líne del Dir sería así:

If Dir(ruta & nbre & ".xlsm") <> "" Then Range("B" & i) = "SI"

Que es " 'x Elsamatilde " ???, eso no debo ajustarlo también? cambie rutas y todo como lo especificaste pero la Macro no ejecuta.

Je je... las líneas que comienzan con comillas son solo comentarios, no instrucciones. Es solo para que recuerdes quien la escribió por si necesitas alguna aclaración o agregado en otro momento.

Cuando alguien solicita una 'macro' entiendo que ya sabe entrar al Editor. Allí inserta un módulo y copia la macro.

Luego desde tu hoja, menú Macros, seleccionala y ejecutarla.

Habrás visto en la imagen que se ejecutó... ¿tendrás las macros habilitadas en tu libro?

Sdos... comenta.

Gracias, si, se lo muy muy muy básico por eso pedí ayuda, sé cómo abrir un módulo e insertar la macro, pero aún así no se ejecutó nada, igual gracias, saludos.

Algo tan simple no puede fallar...

1- Si aún no se ejecuta colocala en un libro donde te asegures que se ejecutan las macros.

2- Verificá también que tengas bien escrita la ruta (con la barra al final) y que allí se encuentren los libros (atención si tu lista tiene o no la extensión). Podés verficarlo colocando esta instrucción por encima de la línea del DIR:

Msgbox ruta & nbre

3- Quizás sí se ejecuta pero te está devolviendo vacío como opción de NO.

Podés verificarlo cambiando la instrucción del resultado, dejando vacío cuando sea SI con este cambio:

If Dir(ruta & nbre) = "" Then Range("B" & i) = "NO"

4-Y sinó solicitame el ejemplo desde algunos de los correos que aparecen en la portada de mi sitio (o dejame un correo tuyo):

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas