First letter of every word?

For one, even though .Text is the default property of a TextBox, you should still explicitly state it in your code:

Code:
Private Sub txtName_Change()
    txtName.Text = StrConv(txtName.Text, vbProperCase)
End Sub
Also, you shouldn't put this in the Change() event. That's why it's going backwards. Try the Validate() event (when the control loses focus):

Code:
Private Sub Text1_Validate(Cancel As Boolean)
    Text1.Text = StrConv(Text1.Text, vbProperCase)
End Sub