How do I set focus

  • Thread starter Thread starter Newbie
  • Start date Start date
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
 
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,
 
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,
 
Back
Top