It sounds as though you are on the right track.
I would locate the last+1 row number, and then put the value of each of the
text boxes into its relevant column.
I would not try to make it generic in the sense of using "for each" to loop
through the text boxes because you want to specify which column the value goes
in. So I would use something like:
Newrow = ... last row + 1
With ActiveSheet
.range("A" & Newrow).value = tbxDate.value
.range("B" & Newrow).value = tbxName.value
...
End with
You may also want to capture the username and current date/time and put those
in the list.