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