How do I set focus

N

Newbie

Hi,

I have a userform with a textbox and the following in the AfterUpdate event:

If Not IsNumeric(Me.txtBill.Value) Then
MsgBox "This needs to be a number", vbExclamation, "Input Error"
Me.txtBill.Value = ""
Me.txtBill.SetFocus

However this does not set the focus back to the txtBill

What am I doing wrong?
Thanks
 
N

Newbie

Thanks - works a treat!
Beto said:
You should put your code in the BeforeUpdate event and set Cancel to
TRUE if the condition of exit is not met.

Ex:

Private Sub txtBill_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(Me.txtBill.Value) Then
MsgBox "This needs to be a number", vbExclamation, "Input Error"
Me.txtBill.Value = ""
Cancel = True
End If
End Sub

Regards,
 
B

Beto

Newbie said:
Hi,

I have a userform with a textbox and the following in the AfterUpdate event:

If Not IsNumeric(Me.txtBill.Value) Then
MsgBox "This needs to be a number", vbExclamation, "Input Error"
Me.txtBill.Value = ""
Me.txtBill.SetFocus

However this does not set the focus back to the txtBill

You should put your code in the BeforeUpdate event and set Cancel to
TRUE if the condition of exit is not met.

Ex:

Private Sub txtBill_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(Me.txtBill.Value) Then
MsgBox "This needs to be a number", vbExclamation, "Input Error"
Me.txtBill.Value = ""
Cancel = True
End If
End Sub

Regards,
 
Top