VBA Cerrar UserForm

Cuando hacemos un formulario de usuario, toma datos como entrada de los usuarios, pero los datos que se proporcionan al formulario no se cierran, por lo que puede inducir a error al usuario a ingresar datos nuevamente, usamos dos comandos diferentes para cerrar un formulario de usuario cuando la entrada tiene dado y son el método Unload me para cerrar un formulario de usuario o podemos usar el método userform.hide.

Excel VBA Cerrar formulario de usuario

Los formularios de usuario son vitales al obtener entradas del usuario como parte del proyecto VBA. Por lo general, diseñamos el formulario de usuario antes de presentarlo frente al usuario. Una vez que se completa el diseño del formulario de usuario de VBA, debemos mostrar el mismo frente al usuario y requerir la codificación de VBA. De manera similar, para cerrar el formulario de usuario, se requieren conocimientos de codificación VBA.

En este artículo, le mostraremos cómo cerrar el formulario de usuario en la codificación VBA.

¿Cómo cerrar UserForm en Excel VBA?

Una vez que el propósito del formulario de usuario está hecho, hay un punto para seguir mostrando el formulario de usuario frente al usuario, por lo que debemos cerrar el formulario de usuario. Podemos cerrar el formulario de usuario usando la instrucción "Unload Me" y las declaraciones "UserForm.Hide". A pesar de que ambos son ligeramente diferentes entre sí, eventualmente cumplirá nuestro propósito.

Puede descargar esta plantilla de Excel de VBA Close UserForm aquí - VBA Close UserForm Excel Template

# 1 - Cerrar formulario de usuario usando la declaración "Unload Me" en VBA

Por ejemplo, mire la siguiente imagen del formulario de usuario.

He nombrado el formulario de usuario como "MyUserForm".

Si ejecuto el formulario de usuario, veremos el formulario de usuario como se muestra a continuación.

Necesito completar los detalles requeridos, una vez completada la información, si hago clic en el botón Enviar, se capturarán los mismos datos en la hoja de trabajo que está visible en el lado izquierdo.

Al hacer clic en el botón enviar, ha capturado los datos que ingresé en el formulario de usuario.

Si nota que tenemos un botón más llamado "Cancelar". ¿Qué hace esto?

Antes de mostrar el formulario de usuario, debemos configurar este botón. Ahora volveré al editor visual básico para configurar este botón.

Ahora haré doble clic en el botón Cancelar y se abrirá el subprocedimiento automático de VBA como el siguiente.

En este procedimiento, necesitamos escribir el código VBA sobre lo que debería suceder si hacemos clic en el botón Cancelar. Cuando hacemos clic en este botón de cancelar, debería cerrar el formulario de usuario en el que estamos trabajando en este momento.

Entonces, escriba el código como "Descargarme".

Código:

 Sub privado CancelButton_Click () Descargarme End Sub 

"Unload Me" es la palabra que usamos para cerrar el formulario de usuario en el que estamos trabajando. Aquí el formulario de usuario reconoce la palabra "Yo" como el formulario de usuario en sí.

“Unload Me” solo se puede usar en ese procedimiento de formulario de usuario, no podemos llamar a esta declaración en otros módulos. Si se llama, mostrará el mensaje de error como " Uso no válido de mi palabra clave ".

Ok, ejecutemos el código usando la tecla F5 o manualmente ahora, veremos un formulario de usuario en blanco.

Complete los datos y haga clic en Enviar.

Una vez que se haga clic en el botón enviar, se almacenarán los valores en las celdas mencionadas.

Si se realiza la entrada de datos, debemos cerrar el formulario de usuario, ¿no?

Entonces, haga clic en el botón Cancelar para cerrar el formulario de usuario, cerrará el formulario de usuario.

# 2 - Cerrar UserForm usando el método Hide en Excel VBA

También podemos cerrar Userform usando el método "Ocultar" también en VBA. Ahora, una vez más, haré doble clic en el botón cancelar para ver el subprocedimiento privado.

Como ya hemos escrito el código para cerrar el formulario de usuario, podemos ver el código existente en VBA. Ahora borraré esto.

Para usar el método Hide necesitamos llamar al formulario de usuario por su nombre. En este caso, el nombre de nuestro formulario de usuario es "MyUserForm".

Luego de mencionar el formulario de usuario por su nombre si ponemos un punto (.) Podemos ver todas las propiedades y métodos de este formulario de usuario. Ahora seleccionaré el método "Ocultar".

Ok, ejecutemos el formulario de usuario una vez más. Veremos el formulario de usuario en blanco, primero complete los detalles.

Ahora, sin hacer clic en el botón Enviar, haré clic en el botón Cancelar, ocultará el formulario de usuario.

Diferencia entre descargar y ocultar en Excel VBA

Debe tener una pregunta cuál es la diferencia entre Unload & Hide, donde ambos tienen un propósito similar. Hay una diferencia entre estos dos. Ahora primero usaré la declaración Unload Me. Mira la imagen de abajo.

Ingresé los datos en el formulario de usuario pero aún no los envié. Si hago clic en Cancelar, se descargará el formulario de usuario.

Ahora de nuevo ejecutaré el código a través de la tecla de acceso directo de Excel F5 o manualmente, mostrará un formulario de usuario en blanco.

A pesar de que he ingresado los datos correctamente por error, hice clic en el botón cancelar, cuando el formulario de nuevo usuario aparece nuevamente, he completado los datos desde cero.

Ahora usaré el método "Ocultar".

No, haré clic en el botón cancelar, ocultará el formulario de usuario visible. Pero cuando vuelva a ejecutar la macro, volverá con los datos que ya ingresé en el formulario de usuario.

Así es como podemos usar la instrucción "Descargar" y el método "Ocultar" para cerrar los formularios de usuario en Excel VBA.