Pedir confirmación antes de ejecutar una macro en Excel
Cuando escribimos una macro, siempre lo hacemos a conciencia y sabiendo los cambios que hará, pero para el usuario final, siempre debemos dejarle la decisión de aplicar los cambios o no.
Pareciera algo contradictorio, pero para cualquier aplicación, siempre es recomendable enviar un aviso informando al usuario que está a punto de ejecutar una acción y lo dejamos a su consideración.
El siguiente código, dentro de su simpleza contiene la lógica de decidir si sí o no continuamos la ejecución de la macro.
Cómo funciona
Primeramente asignamos una variable llamada Resp que es la que almacenará el resultado de la clase MsgBox, cuyos valores serán Si o No (vbYes, vbNo).
La lógica del código es:
Si Resp es igual a SI, entonces ejecuta el código
Sino
Muestra un mensaje o ejecuta otro código
Código de la macro
Sub Confirmar() Dim Resp As Byte Resp = MsgBox("Deseas continuar con la ejeción de la macro?", _ vbQuestion + vbYesNo, "EXCELeINFO") If Resp = vbYes Then MsgBox "Se eligió continuar...", vbExclamation, "EXCELeINFO" 'Aquí se ejecutaría el código Else MsgBox "Se eligió cancelar...", vbCritical, "EXCELeINFO" End If End Sub
Animación de la macro en ejecución
Lo máximo
Hola que tal buenas tardes.
Desde ya les saludos desde la ciudad de arica – chile, agradeciendo su apoyo ante las preguntas a realizar.
Les comento que soy nuevo en esto de realizar sistemas en excel con macros y me gustaría saber si me pueden ayudar con la siguiente pregunta:
He realizado un sistema de que me ayuda en cada uno de los procesos de mi trabajo, lo cual, este sistema tiene acceso a usuarios y distintas hojas relacionadas con formulas y macros, dentro de estas hojas se encuentran botones de guardar la información.
1. Me gustaria saber como hacer que el boton guardar antes de realizar la acción, me solicite confirmación de ello o mejor que me señale que al no haber registro de datos en las celdas me diga al guardar: no hay registros, favor rellenar las celdas y una vez que se haga pregunte desea guardar la información?.
2. como les comentaba mi sistema, tiene acceso a usuario, pero al iniciarlo o presionar ingresar, este no vuelve a la página de inicio, sino que queda en otra hoja.
Desde ya muchas gracias por su apoyo.
Atte. Mauricio