Many thanks Dave, this seems to work just fine!

Is there a layman's explanation of the date function here?
.Cells(LastRow + 1, Cnt) = frmEnlistment.txtSoldierNumber.Value
                        .Range(.Cells(3, Cnt + 1), .Cells(LastRow + 1, Cnt + 1)).NumberFormat = "@"
                        .Cells(LastRow + 1, Cnt + 1) = CStr(frmEnlistment.txtEnlistmentDate.Text)
Really like to know how the .NumberFormat = "@" works.

It picks up any leap year faults by putting up the prompt message, whether this is a leap year date in the past or the future. To keep things tidy, is there a way to ensure that a total of six numerals are used (**/**/****)?




Many thanks to Paul too!

Sorry if the two posts became crossed, this was not my intention.

I agree that separating the three parts kind of makes sense. Is there such a thing as having "tabs" on a UserForm that might facilitate this?