Contenido
La instrucción Unload en VBA se utiliza para remover un formulario (UserForm) de la memoria. Cuando desees cerrar un formulario y liberar los recursos que está utilizando, puedes utilizar Unload seguido del nombre del formulario.
Aquí tienes un ejemplo de cómo utilizar la instrucción Unload:
Supongamos que has creado un formulario llamado MyForm, y tienes un botón en ese formulario que al presionarlo se debería cerrar el formulario. El código del botón de comando sería algo así:
Private Sub CommandButtonClose_Click()
Unload Me
End Sub
En este caso, Me se refiere al formulario actual en el que se encuentra el botón.
Si necesitas descargar un formulario desde otro lugar en tu código que no esté directamente en el código de ese formulario, puedes especificar el nombre del formulario:
Unload MyForm
Ten en cuenta que cuando se descarga un formulario, el código en el evento QueryUnload y luego en el evento Terminate del formulario son ejecutados. Estos eventos son útiles para manejar cualquier limpieza o verificación antes de que el formulario se cierre de manera definitiva.
Un punto importante a recordar es que si intentas ejecutar el código Unload en un formulario que ya ha sido descargado, ocurrirá un error en tiempo de ejecución. Por lo tanto, a veces es prudente verificar si el formulario ya está cargado antes de intentar descargarlo:
If UserForm1 Is Nothing Then
' El formulario no está cargado, por lo que no hay necesidad de descargarlo
Else
' El formulario está activo y puede ser descargado
Unload UserForm1
End If
Ten en cuenta que la comprobación If UserForm1 Is Nothing solo funcionará si la variable UserForm1 ha sido declarada con el uso de New o si se ha puesto en uso a través de una acción del usuario y ha sido previamente descargada; de no ser así, deberás utilizar otro método para comprobar si el formulario está abierto, como mantener una variable de control que indique el estado del formulario.