title: VBA Hide User form but retain data entered into it
body: <p>I'm back again with what I hope is a fairly easy question.</p>
  
  <p>I'm attempting to create a user form in VBA.  The user will enter certain bits of information into the form, and then close the form.  I'd like the user form to retain the data entered after it is closed by the user.  I'm treating it as a class module, since techinically they are, or at least that is how I understand it.  Here is the code I'm using:</p>
  
  <p>In the main sub that displays the user form:</p>
  
  <pre><code>Sub NonACATMemo()
  
  Dim UserInput As MemoReasons
  Set UserInput = New MemoReasons
  UserInput.Show
  </code></pre>
  
  <p>... And then in the user form itself to close it...</p>
  
  <pre><code>Private Sub UserForm_Terminate()
  MemoReasons.Hide
  End Sub
  </code></pre>
  
  <p>I also call this sub from a command button on the form.  The issue I'm running into is that when I use this method, I get an error "Run-time error '402':  Must close or hide topmost modal form first."  If I use unload me, when I try to get data out of the form it is cleared and I get a "server not available" error or something to that effect.</p>
  
  <p>So, any ideas on hiding a user form but retaining the data inside?  </p>
  
  <p>Final couple of notes:  This is the only user form in the project, and here is an example of how I'm trying to get data out of it using the Public Property Get method:</p>
  
  <pre><code>Debug.Print UserInput.EmailFlag
  Debug.Print UserInput.ContraFirm
  Debug.Print UserInput.MemoReason
  </code></pre>
  
  <p>Well, I'm all ears if anyone has any suggestions.</p>