Macro para abrir archivo según lo indique una celda

Buenas noches, tengo un excel 2003 he creado la siguiente carpeta C:\Stock\Articulos

Dentro de la carpeta "Articulo" tengo varios archivos (ej. Articulo1, articulo100, articulo150)

Lo que pretendo desde una hoja que se encuentra C:\Stock\Articulos\Datos realizar una macro donde le indique que evalué la celda A1 (en dicha celda va estar el nombre del archivo) y ejecute abrir dicho archivo, ¿puede ser?

1 Respuesta

Respuesta
1

Te dejo la macro que seguramente ya sabrás como ejecutarla. Sino en la sección Macros de mi sitio explico las distintas alternativas (con botón, con atajo de teclado, al cambio de celda, etc).

Entra al Editor, inserta un modulo y allí copia esto:

Sub abreLibro()
'x Elsamatilde
'abre libro de nombre = contenido  celda A1
'si la celda esta vacia cancela
If Range("A1") = "" Then Exit Sub
'controla posible error de que no se encuentre ese libro
On Error GoTo sinlibro
'la carpeta donde se encuentran los libros
ruta = "C:\Stock\Articulos\"
'nombre del libro sin extension
nbre = Range("A1")
'nbre de libro activo para poder regresar
milibro = ActiveWorkbook.Name
'abre el libro
Workbooks.Open (ruta & nbre & ".xlsx")
'nota: ahora el libro activo es èste
On Error GoTo 0
MsgBox ActiveSheet.Name
'para regresar al libro con la macro
Workbooks(milibro).Activate
MsgBox "Regrese al libro " & ActiveWorkbook.Name
Exit Sub
sinlibro:
MsgBox "No se encontro el libro llamado " & Range("A1"), vbCritical, "ERROR"
End Sub

Los 2 msgbox los deje para que veas en que libro estas posicionado en cada paso. Alli ira el resto de tu proceso.

Sdos y no olvides valorar y finalizar si todo quedo comprendido.

Elsa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas