The following code should solve your problem:
To use this example, copy this sample code to the Declarations portion of a form "UserForm1". Make sure that the form contains the following controls:
**two forms called UserForm1 and UserForm2-
you don't necessarily need UserForm2 but you should omit any reference to it in that case.
** A command button on UserForm1 called CommandButton1-essentially your "OK" button.
** A textbox on UserForm1 called TextBox1-A box for a street address
** A textbox on UserForm1 called TextBox2-A box to enter a zip code.
** A textbox on UserForm1 called TextBox3-Really, it can be any control that is next on the TAB order after TextBox2
** A label on UserForm1 called Label1- Caption should be "Zip Code"
** TAB order should be TextBox1->TextBox2->TextBox3->Commandbutton1
Private Sub CommandButton1_Click()
If (TextBox1.Value <> "" And TextBox2.Value = ""

Then
HiliteZip
TextBox2.SetFocus
Else
NormalZip
'Get info from UserForm1 here and go to a new userform
UserForm2.Show
End If
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If (TextBox1.Value <> "" And TextBox2.Value = ""

Then
Cancel = True
HiliteZip
End If
End Sub
Private Sub TextBox3_Enter()
NormalZip
End Sub
Private Sub HiliteZip()
Label1.Caption = "*Zip Code required"
Label1.ForeColor = RGB(255, 0, 0)
TextBox2.BackColor = RGB(255, 255, 0)
End Sub
Private Sub NormalZip()
Label1.Caption = "Zip Code"
Label1.ForeColor = RGB(0, 0, 0)
TextBox2.BackColor = RGB(255, 255, 255)
End Sub
This code should notify the user that he or she needs to enter a zip code regardless if the user uses the TAB or mouse button or both to move from one field to another.