Evite que un formulario de usuario se cierre cuando el usuario hace clic en el botón x mediante VBA en Microsoft Excel

Anonim

En este artículo, mostraremos cómo deshabilitar el botón x en el formulario de usuario usando VBA.

En este ejemplo, hemos creado un formulario de usuario que se puede activar haciendo clic en el botón Ejecutar en la hoja de trabajo.

Este formulario de usuario contiene solo un botón que se utiliza para cerrar el formulario de usuario. El formulario de usuario solo se puede cerrar haciendo clic en este botón. Incluso, al presionar la tecla de método abreviado Alt + F4 en el teclado no podrá cerrar este formulario de usuario.

Explicación lógica

Para deshabilitar el botón x del formulario de usuario, hemos utilizado el evento de cierre de consulta del formulario de usuario. Este evento se activa antes de cerrar el formulario de usuario.

En este caso, hemos establecido la condición de que si el modo de cierre es el control del menú, no cierre el formulario de usuario; en su lugar, muestra un mensaje de información en el cuadro de diálogo.

Siga a continuación para obtener el código

 Opción Sub explícito en ejecución () UserForm1.Show End Sub 'Agregar el siguiente código en el formulario de usuario Private Sub CommandButton1_Click ()' Cerrar el formulario de usuario Descargarme End Sub Private Sub UserForm_QueryClose (Cancelar como entero, CloseMode como entero) 'Usar el evento de cierre de consulta del formulario de usuario' Comparando el valor constante de la variable CloseMode 'Si es igual a la constante incorporada del menú de control' Luego, evite el cierre del formulario de usuario y 'Mostrar cuadro de diálogo de mensaje de información Si CloseMode = vbFormControlMenu Entonces' Cambiando el valor de la variable Cancelar a Verdadero 'Por defecto, es Falso Cancelar = Verdadero MsgBox "¡No puede cerrar el cuadro de diálogo de esta manera!" End If End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico