Your changes trigger Listbox.Click events, as the sheet data is the RowSource for the list. This workaround will disable these.
Dim Disable as Boolean
'update existing record
Private Sub CommandButton1_Click()
Dim erowa As Integer
Dim x As Integer
Dim y As Integer
If Me.TextBox1.Text = "" Or Me.TextBox2.Text = "" Or Me.TextBox3.Text = "" Then
MsgBox "Please Select a Row"
Else
erowa = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
Disable = True
For x = 2 To erowa
If Sheet1.Cells(x, "A").Value = Me.TextBox4.Text Then
Sheet1.Cells(x, "D").Value = Me.TextBox3.Text
Sheet1.Cells(x, "C").Value = Me.TextBox2.Text
Sheet1.Cells(x, "B").Value = Me.TextBox1.Text
Exit For
End If
Next
Disable = False
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
End If
End Sub
and
Private Sub ListBox1_Click()
If Not Disable Then
TextBox4.Text = Me.ListBox1.List(ListBox1.ListIndex, 0)
TextBox1.Text = Me.ListBox1.List(ListBox1.ListIndex, 1)
TextBox2.Text = Me.ListBox1.List(ListBox1.ListIndex, 2)
TextBox3.Text = Me.ListBox1.List(ListBox1.ListIndex, 3)
End If
End Sub