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