I HATE to suggest this, but... how about using SendKeys to send a Shift-Tab?
This worked every time for me, even after adding additional controls to the form
and changing the tab order several different ways.
Private Sub txtStringLineInput_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 13 Then
If Len(Me.txtStringLineInput.Text) > 0 Then
Me.lstStringSetData.AddItem Me.txtStringLineInput.Text
End If
Me.txtStringLineInput.Text = vbNullString
Application.SendKeys "+{TAB}"
End If
End Sub
Private Sub UserForm_Initialize()
Me.txtStringLineInput.SetFocus
End Sub