Hola! Excel con visual!

Hola!
Tengo un libro de menú principal en excel y tengo varios libros de datos cuyo nombre es el numero de identificación. Cuál seria el código en visual para que desde el menú principal me busque el nombre del archivo digitado en un command, ¿si lo encuentra lo abra y si no lo encuentra muestre un aviso diciendo que el archivo no existe?
Gracias!

1 Respuesta

Respuesta
1
Te he echo la macro para aplicarla a un botón que crees en tu libro Menu principal, seleccionas una celda vacía, ahora pinchas en Ver>Barra de Herramientas>Cuadro de controles, en la ventana que aparece haz clic en el icono de botón y ahora vas a esa celda y dibujas tu botón del tamaño que quieras. Pincha con el botón derecho del ratón y eliges Ver código y en la ventana de Visual Basic que se abre pegas este código, Ojo debes de poner tu directorio en formato C:\Mis Documentos\Mis Libros (por ejemplo, directorio no nombre de libros solo la carpeta)
Private Sub CommandButton1_Click()
'En la ventana que se abre pones el nombre del libro que quieres abrir, pero sin 'extension solo el nombre (por ejemplo Libro1)
AbreLibro = InputBox("Introduce el nombre del Libro", "Abrir Libros")
ChDir "Aquí debes poner la ruta de tu directorio"
Workbooks.Open Filename:= _
"C:\Documents and Settings\Papa\Escritorio\Macros\" + AbreLibro + ".xls"
End Sub
Si el nombre que pones es de un libro que no existe te aparecerá el error de que no ha encontrado el Libro, pulsas en Finalizar y puedes volver a pulsar el botón para buscar de nuevo.
Voy a ensayar su respuesta y le daré la calificación
Vale de acuerdo
Hola!
Realicé los ensayos y si sirvió y lo mejoré con una ayuda que encontré ahí mismo para que si el archivo no existe saque un Msgbox y no el aviso de error en tiempo de ejecución. Ahora la pregunta es: cómo válido el InputBox para que si el usuario oprime Cancelar y esté vacío, ¿no salga el cuadro de error en tiempo de ejecución sino que se cierre directamente y muestre la hoja activa de excel?
Gracias!
Después del Inputbox pones esta linea de código que significa que si el InputBox el valor es Blanco ("") salte al final de la macro
If AbreLibro = "" Then
Exit Sub
End If
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas