Well... you've got me baffled. I don't know if your form is a sheet or a real user form or if you're using both.
Without a sample file to give some idea as to what you're working with and talking about, I can only comment on the code you've posted.
The range 'nextrow' is a single cell, assuming you want the data written to that row starting at column 3
try this (you missed copying the sub name)
Code:
'Dim the variables
Dim cNum As Integer
Dim X As Integer
Dim nextrow As Range
'change the number for the number of controls/text boxes on the userform
cNum = 17
Set nextrow = Sheet3.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0)
For X = 1 To cNum
nextrow.Offset(, X - 1).Value = Me.Controls("Reg" & X).Value
Next X
MsgBox "The data has been sent"
'Clear the controls
For X = 1 To cNum
Me.Controls("Reg" & X).Value = ""
Next X
End Sub