Excel - mantener el focus en un textBox al presionar enter

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

mantener el focus en un textBox al presionar enter

Publicado por Andres Leonardo (1583 intervenciones) el 07/02/2017 20:49:55
El set focus deberias ponerlo al ultimo recuerda que es lo ultimoque pasa antes de habilitar el control

intenta asi

1
2
3
4
5
6
7
8
9
10
11
12
13
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
extenderArreglo
txt_nv.SetFocus
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

mantener el focus en un textBox al presionar enter

Publicado por Claudio (17 intervenciones) el 08/02/2017 12:41:59
No mi estimado, tampoco funciona, sigue poniendo el foco en la siguiente instrucción, incluso para dar un ejemplo más concreto al presionar enter realiza la acción y deja el foco en el segundo botón despues del segundo textBox, al presionar shift+Tab en vez de devolverse al primer botón (el cual corresponde secuencialmente) vuelve al textBox1 (txt_nv) como indica justamente el algoritmo, lo que me da a entender de que el código está funcionando como corresponde y que no corresponde a este el problema.



De igual modo muchas gracias por tomarse su tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar