Macro para buscar archivos en una carpeta

Estoy trabajando en la creación de un gestor de pedidos a través de VBA para Excel. Lo que necesito es buscar desde la hoja el archivo del pedido en la carpeta. He estado investigando y he encontrado esta propuesta :

Sub Busca_archivo()
Dim Base As String, Ruta As String, Archivo As String, n As Byte, Existe As Boolean
Base = "C:\Users\ADMIN\Desktop\MACROS\PEDIDOS"
Archivo = Trim(InputBox("PEDIDOS"))  & ".xls"
If Archivo = ".xls" Then MsgBox "Operacion cancelada por el usuario !!!": Exit Sub
For n = 1 To 7
Ruta = Base & n & "\"
If Dir(Ruta & Archivo) <> "" Then
Existe = True
If MsgBox(Archivo & " encontrado en: " & Ruta & vbCr & "Quieres que lo abra ?", vbYesNo) = vbYes Then
Workbooks.Open Ruta & Archivo
End If
Exit For
End If
Next
If Not Encontrado Then MsgBox Archivo & " NO encontrado en " & Base & "1 a 7"
End Sub

Por supuesto, yo la adapte a mi caso, de hecho ahí se puede ver la ruta de la carpeta que estoy probando. El detalle esta en que al momento de buscar el archivo, coloco el nombre tal cual, pero me siempre sale el mensaje de no encontrado. Y he probado utilizando tanto & ".xls", como & ".xlsx", pero no encuentro el error.

Respuesta
1

La consulta ya lleva mucho tiempo pero quizás aún no lo tengas resuelto y aquí va mi comentario:

1- Estás utilizando 2 variables diferentes, si colocas un valor en 'Existe' luego debes controlar esa misma en lugar de 'Encontrado'

If Not Existe Then Msgbox ......

2- Verifica que realmente tengas las carpetas numeradas como se observa en la imagen (sin espacios entre el texto y el índice:

3- Queda claro que en el inputbox solo debes ingresar el nombre del archivo sin su extensión... quizás se te esté olvidando este detalle.

Sdos y no olvides valorar la respuesta, aún si el tema ya lo tengas resuelto atento a que me ocupé de ella.

Te recuerdo que si algo no te queda claro podes solicitar 'aclaraciones'. Pero si el tema quedó resuelto debes valorar la respuesta para darla por cerrada.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas