Visual Basic para Aplicaciones - Evento KeyDown para reemplazar TAB en formulario de Excel

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Evento KeyDown para reemplazar TAB en formulario de Excel

Publicado por Cristian (5 intervenciones) el 10/07/2017 16:28:49
Buenos días,

Me encuentro generando un formulario en Excel dentro de la Hoja con los Controles ActiveX y para reemplazar la acción del TAB utilice la acción KeyDown para poder saltar de control en control y permitir un interfaz amigable para el usuario, (utilice KeyDown porque según lo que investigue la acción del botón TAB no funciona en macros de Excel con Visual Basic)

El código para ejecutar la acción de saltar de campo a campo la represente así (ejemplos):

1
2
3
4
5
6
7
8
9
10
11
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
ComboBox2.Activate
End If
End Sub
 
Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
TextBox1.Activate
End If
End Sub


El código me funciona perfectamente par la acción que requiero pero se me está presentando un inconveniente, cada vez que presiono ENTER, ejecuta la actividad de pasar al siguiente campo como esta diseñado pero a su vez salta de celda en celda dentro del libro de Excel, lo que genera que el foco del formulario no sea el campo (CONTROL ACTIVEX) si no la celda del libro. cuando se realizar mucho esta acción de ENTER, sigue y sigue bajando de celda y llega al punto de perder la vista del formulario.

agradecería si alguien me puede colaborar, deseo desactivar de alguna manera que al presionar ENTER se mueva únicamente sobre los controles y no sobre el Libro de Excel.

muchas gracias.
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 Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Evento KeyDown para reemplazar TAB en formulario de Excel

Publicado por Antoni Masana (498 intervenciones) el 11/07/2017 07:05:41
Puedes subir el libro para poder analizar el problema.

Saludos.
\\//_
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Evento KeyDown para reemplazar TAB en formulario de Excel

Publicado por Cristian (5 intervenciones) el 11/07/2017 15:16:20
Claro si señor,

El problema es que en la hoja Formulario Entrevista Cliente esta programado el salto de campo a campo con ENTER, pero a su vez el Enter navega en la hoja y genera que se pierda el foco en el formulario.
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Evento KeyDown para reemplazar TAB en formulario de Excel

Publicado por Antoni Masana (498 intervenciones) el 13/07/2017 10:41:53
Ya he visto lo que pasa.

Tienes que ir a Archivo - Opciones - Avanzadas - Opciones de edición

Y desactivar la primera opción "Después de presionar Entrar, mover selección"

NOTA: Los textos pueden variar dependiendo de la traducción y del país.

Saludos.
\\//_
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Evento KeyDown para reemplazar TAB en formulario de Excel

Publicado por Cristian (5 intervenciones) el 20/07/2017 00:05:10
Como esta Sr Antoni,

Muchas gracias por su colaboración, realice la modificación pero ahora cuando presiono ENTER siempre mantiene el foco en una misma celda, la que este seleccionada cuando proteja la hoja y no me pone el foco en el campo como tal que quiero diligenciar, lo que no entiendo es porque pasa en algunos campos y en otros no.

muchas gracias.
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