Mantener el cursor en un textbox cuando tire mensaje

Solo con una consulta como puedo hacer para que un textbox no siga si manda un mensaje de error, por ejemplo estoy utilizando estos códigos.
Private Sub TextBox62_Change()
If Not IsNumeric(TextBox62.Text) And TextBox62.Text <> "" Then
Beep
MsgBox "Se debe ingresar solo números"
End If
End Sub
Estos códigos son para que el textbox solo acepte números, es decir si yo escrribo alguna letra el textbox me tira el mensaje de "Se debe ingresar solo números", entonces lo que necesito hacer, es que cuando me envíe ese mensaje el cursor no siga hasta que se corrija el error, y si se escribe un numero entonces que siga caminando el cursor.

1 respuesta

Respuesta
1
Esto no es posible porque se pierde control del foco al usar msgbox. Aquí hay algo que simula lo que quieres.
Puedes configurarlo en el evento exit.
Evidentemente el msgbox hace que el foco pase al otro control, por lo que el &quot;mensaje&quot; lo arme con un label ubicado a la derecha del txt de la fecha. Este label, por defecto no tendrá ningún texto. Este es el código:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 = &quot;&quot; Then
Label1.Caption = &quot;Debe ingresar los datos correctos&quot;
Cancel = True
Else
Label1.Caption = &quot;&quot;
End If
End Sub
NOta: http://www.forosdelweb.com/f69/vba-no-funciona-setfocus-no-entiendo-264091/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas