You could add the data sets to a hidden listbox (or you could use an array). Then use the listbox (or array) to populate the document:

Private Sub cmdAdd_Click()
  With ListBox1
    .AddItem
    .List(.ListCount - 1, 0) = TextBox1.Text: TextBox1.Text = vbNullString
    .List(.ListCount - 1, 1) = TextBox2.Text: TextBox2.Text = vbNullString
    .List(.ListCount - 1, 2) = TextBox3.Text: TextBox3.Text = vbNullString
  End With
End Sub

Private Sub cmdAddDone_Click()
Dim lngIndex As Long
  With ListBox1
    .AddItem
    .List(.ListCount - 1, 0) = TextBox1.Text
    .List(.ListCount - 1, 1) = TextBox2.Text
    .List(.ListCount - 1, 2) = TextBox3.Text
  End With
  For lngIndex = 0 To ListBox1.ListCount - 1
    MsgBox ListBox1.List(lngIndex, 0) & " " & ListBox1.List(lngIndex, 1) & " " & ListBox1.List(lngIndex, 2)
  Next lngIndex
  Unload Me
End Sub