mantener el focus en un textBox al presionar enter
Publicado por Claudio (17 intervenciones) el 07/02/2017 19:05:34
Buenas tardes, tengo el siguiente problema, estoy creando un formulario en excel usando dos textBox y un array, el algoritmo basicamente es que cada vez que yo presione enter, mi array crece en uno, almacena el dato y luego en el segundo textBox se ven todos los datos en forma de lista (lo de la lista aún no lo tengo pero no tengo problema para eso). El problema es que quiero que una vez realizado el enter el focus se centre nuevamente en el primer textBox y obviamente este que quede en blanco, para lo segundo no hay problema pero el foco no veo forma de dejarlo nuevamente en el textBox1. Probé definiendo txt_nv.setfocus (txt_nv se llama el primer cuadro de texto) al final de la instrucción al presionar enter, luego probé indicando que, como pasaba automaticamente el foco al segundo cuadro, que este al recibir el focus lo envié de vuelta a mi txt_nv pero tampoco, con cada instrucción que le doy el sistema me arroja el foco al siguiente objeto en la lista (incluso probé colocando txt_nv al final de la lista pero tampoco funcionó), es como si el sistema estuviese inabilitado para central el foco en un cuadro de donde hay una instrucción de enter.
POR FAVOR AYUDA.
Private Sub txt_nv_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
largoNota = UBound(nota)
nota(largoNota) = CInt(txt_nv)
txt_listado = ""
For i = 0 To largoNota
txt_listado = txt_listado + CStr(nota(i))
Next
txt_nv = ""
'txt_listado.SetFocus
txt_nv.SetFocus
extenderArreglo
End If
End Sub
POR FAVOR AYUDA.
Private Sub txt_nv_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
largoNota = UBound(nota)
nota(largoNota) = CInt(txt_nv)
txt_listado = ""
For i = 0 To largoNota
txt_listado = txt_listado + CStr(nota(i))
Next
txt_nv = ""
'txt_listado.SetFocus
txt_nv.SetFocus
extenderArreglo
End If
End Sub
Valora esta pregunta


0