VBA oculta el formulario de usuario pero conserva los datos ingresados

Vuelvo de nuevo con lo que espero que sea una pregunta bastante fácil.

Estoy intentando crear un formulario de usuario en VBA. El usuario ingresará ciertos bits de información en el formulario y luego cerrará el formulario. Me gustaría que el formulario de usuario retenga los datos ingresados ​​después de que el usuario los cierre. Lo estoy tratando como un módulo de clase, ya que técnicamente lo son, o al menos así es como lo entiendo. Aquí está el código que estoy usando:

En el sub principal que muestra el formulario de usuario:

Sub NonACATMemo()

Dim UserInput As MemoReasons
Set UserInput = New MemoReasons
UserInput.Show

... Y luego en el propio formulario de usuario para cerrarlo ...

Private Sub UserForm_Terminate()
MemoReasons.Hide
End Sub

También llamo a este sub de un botón de comando en el formulario. El problema con el que me estoy topando es que cuando uso este método, aparece el mensaje "Error en tiempo de ejecución '402': primero debo cerrar u ocultar el formulario modal más alto". Si utilizo me descargo, cuando intento sacar los datos del formulario, se borra y aparece un error de "servidor no disponible" o algo parecido.

Entonces, ¿alguna idea sobre cómo ocultar un formulario de usuario pero conservar los datos?

Un par de notas finales: este es el único formulario de usuario en el proyecto, y aquí hay un ejemplo de cómo estoy tratando de obtener datos utilizando el método de obtención de propiedades públicas:

Debug.Print UserInput.EmailFlag
Debug.Print UserInput.ContraFirm
Debug.Print UserInput.MemoReason

Bueno, soy todo oídos si alguien tiene alguna sugerencia.

Respuestas a la pregunta(2)

Su respuesta a la pregunta