ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How do I set focus (https://www.excelbanter.com/excel-programming/291054-how-do-i-set-focus.html)

Newbie

How do I set focus
 
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



Newbie

How do I set focus
 
Thanks - works a treat!
"Beto" wrote in message
...
Newbie wrote:

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,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.




Beto[_3_]

How do I set focus
 
Newbie wrote:

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,
--
Beto
Reply: Erase between the dot (inclusive) and the @.
Responder: Borra la frase obvia y el punto previo.



All times are GMT +1. The time now is 09:11 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com