The Change Event Handler is firing for each field . . . and sorting on the date which, initially, will be blank.
Try like this:
Private Sub cmdAdd_Click()
'Copy input values to sheet.
Dim lRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Birthdays")
lRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
With ws
Application.EnableEvents = False
.Cells(lRow, "A").Value = Me.fullname.Value
'.Cells(lRow, "B").Value = Me.TextBox3.Value
.Cells(lRow, "B").Value = Format(Me.TextBox3.Value, "mmmm d")
.Cells(lRow, "C").Value = Me.ComboBox1.Value
Application.EnableEvents = True
.Cells(lRow, "D").Value = Me.TextBox5.Value
End With
'Clear input controls.
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
Me.ComboBox1.Value = ""
Me.TextBox5.Text = ""
End Sub
Bookmarks