Not sure why you need all those identical forms. You are taking the wrong approach.
The data shold be saved from the UserForm to a table of data, ideally with a unique ID number in Column A of the data sheet. You can then quickly fill the sheet that acts as the form by using VLOOKUP
Also, finding the next row in your code by looping is very inefficient. I also, can't see why you use End in the code.
Private Sub cmdOk_Click()
Dim NextCl As Range
With ActiveWorkbook.Sheets("Contents Page")
Set NextCl = .Cells(.Rows.Count, 3).End(xlUp).Offset(1, 0)
NextCl.Value = txtEmployee1.Value
NextCl.Offset(0, 1) = txtEmployee2.Value
NextCl.Offset(0, 2) = txtEmployee3.Value
NextCl.Offset(0, 3) = txtEmployee4.Value
NextCl.Offset(0, 4) = cbonature.Value
End With
End Sub
Bookmarks