A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Since TextBox1 etc. are controls on your userform, you shouldn't declare them as variables.
And since you already handle TextBox1>0 in the first If TextBox1 > 0 Then, the ElseIf TextBox1 > 0 Then part will never be executed.
I wouldn't use the Change event, but the AfterUpdate event:
Private Sub TextBox1_AfterUpdate()
If TextBox1 > 0 Then
TextBox2 = 0
TextBox3.SetFocus
Else
TextBox2 = 1
End If
End Sub