Lanzar formulario al llamar una macro.

Hola,
Parimos de un libro de 2 hojas (datos y mantenimiento). En la hoja "datos" hemos creado un botón al que se asocia una macro que nos desplaza a la hoja "mantenimiento". Me gustaría que al clickar ese botón se lanzara un formulario que rellenara la celda E32 de "datos" con un año cualquiera y una vez validado ese dato, se ejecutara el macro.
He estado intentándolo pero no lo consigo, gracias.

1 respuesta

Respuesta
1
Una posible solución si no he entendido mal, podría ser:
'------------------------ CODIGO ---------------------------
Private Sub CommandButton1_Click()
Do While Len(e32) <> 4
e32 = Application.InputBox("Teclea el nº de un año", "Seleccionar Año", , , , , , 1)
Loop
Sheets("datos").Range("E32") = e32
MsgBox "Ejecutar su macro" ' cambiar esta linea por la que ejecute su macro
End Sub
'--------------------------------- explicación ----------------------
Yo mi botón le he llamado CommnadButton1 y al ticarlo, me pide el nº de un año de 4 dígitos y mientras no lo de los 4 dígitos se repite. Con esta información relleno la celda "E32" de la hoja DATOS y luego ejecuto la macro...
(Recuerde que si da por terminada la pregunta, hay que cerrar y valorar la ayuda)
(Si necesita aclaraciones, no dude en pedirla)
Saludos desde España - Navarra
Gracias por tan pronta respuesta.
Vamos bien, aunque como no me explico todo lo bien que quisiera, valoro tu esfuerzo. La idea va por ahí, pero voy a tratar de hilar más fino...
En la hoja datos hay un botón al que se asigné la siguiente macro
Sub EXT_MAN()
' EXT_MAN Macro
' Macro grabada el 12/03/2011 por WinuE
    Sheets("EXT.MAN.").Select
    Range("A482").Select
    ActiveWindow.Zoom = 75
End Sub

La hoja llamada "mantenimiento" se rellena automáticamente pues está vinculada mediante fórmulas a "datos", pero según el año que se quiera introducir en E32 de datos, la información de "mantenimiento" varia. ¿Qué pasa? Que en más de una ocasión me he olvidado de cambiar ese E32... Con lo cual pretendía que en el momento de clickar ese botón de "datos" que ejecuta la macro citada, antes de que se ejecute, obligue a introducir el año de E32, y una vez aceptado el año, que continué la macro citada.
Espero haberme explicado mejor... Gracias y disculpa mi "pesadez".
Modifica y pon lo siguiente:
'----------------------
Private Sub CommandButton1_Click()
Do While Len(e32) <> 4
e32 = Application.InputBox("Teclea el nº de un año", "Seleccionar Año", , , , , , 1)
Loop
Sheets("datos").Range("E32") = e32
EXT_MAN
End Sub
'----------------------
Te pido la fecha e cuatro dígitos, la registro en la celda E32 de la hoja DATOS y ejecuto la macro EXT_MAN

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas