Confirmación de ejecución de macro en MsgBox de Excel
Resuelto
laptitepero
Mensajes publicados
19
Estado
Miembro
-
loloonthewave -
loloonthewave -
¡Hola!
Aquí está mi pregunta,
Tengo una macro que elimina filas, he puesto un botón de ejecución en mi hoja.
(hasta ahora todo va bien)
Me gustaría ahora crear un mensaje de confirmación para confirmar la ejecución de la macro si alguien hace clic en ese botón.
Buscando un poco, he encontrado esta macro:
Sub MaFonction()
If MsgBox("Operación irreversible. ¿Desea continuar?", vbQuestion + vbYesNo, "PREGUNTA ...") = vbYes Then
...
...
...
Else
...
End If
...
End Sub
Pero no consigo aplicarla a la mía (los ..... no me ayudan)
Gracias por vuestra ayuda.
Laptitepero
Aquí está mi pregunta,
Tengo una macro que elimina filas, he puesto un botón de ejecución en mi hoja.
(hasta ahora todo va bien)
Me gustaría ahora crear un mensaje de confirmación para confirmar la ejecución de la macro si alguien hace clic en ese botón.
Buscando un poco, he encontrado esta macro:
Sub MaFonction()
If MsgBox("Operación irreversible. ¿Desea continuar?", vbQuestion + vbYesNo, "PREGUNTA ...") = vbYes Then
...
...
...
Else
...
End If
...
End Sub
Pero no consigo aplicarla a la mía (los ..... no me ayudan)
Gracias por vuestra ayuda.
Laptitepero
5 respuestas
-
Hola,
El error está ahí:
If vbCancel Then Exit Sub Else End If
Hay que hacer:If yourmsgbox = vbCancel Then Exit Sub End If
;o)
«Lo que conceptualizamos bien, se expresa con claridad, y las palabras para decirlo llegan fácilmente.»
Nicolás Boileau -
Hola a todos,
Tengo exactamente el mismo problema que lapetitepero, pero vuestra información no me desbloquea.
mi sintaxis es la siguiente:yourmsgbox = MsgBox("Are you sure you validate?", vbOKCancel, "confirmation") If vbCancel Then Exit Sub Else End If
A continuación se encuentra mi código a ejecutar si se hace clic en Aceptar.
En este caso, ya sea que haga clic en Aceptar o Cancelar, es el caso Cancelar el que se ejecuta. Pero ¿dónde está el error? -
Hola,
Los “puntitos” es el código que debe ejecutarse, es decir tu código.
Sub MaFonction() If MsgBox("Operación irreversible. ¿Desea continuar?", vbQuestion + vbYesNo, "PREGUNTA ...") = vbYes Then ' TU CÓDIGO SI LA RESPUESTA ES "SÍ" Else ' TU CÓDIGO SI LA RESPUESTA ES "NO" End If End Sub
;o)
--
«Lo que concebimos con claridad se enuncia con claridad, y las palabras para decirlo vienen fácilmente.»
Nicolas Boileau-
-
No hay ningún código especial!!! si no hay que hacer nada, no hay nada para codificar... así que puedes quitar el Else. O puedes poner un Exit Sub en el Else para salir del procedimiento.
En MsgBox, "QUESTION..." es el título que aparecerá en la barra azul de la ventana de diálogo. Puedes poner lo que quieras. -
-
-
Si eso puede ayudarte, aquí está mi macro base:
Sub SuppLigne() Dim Lig As Long Sheets("Modèle").Select Lig = ActiveCell.Row Rows(Lig).Delete Sheets("Résultat").Rows(Lig).Delete Sheets("Constantes").Rows(Lig).Delete End Sub -
Yahoo, ¡todo funciona de maravilla!
¡Muchas gracias!