Excel - Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

 
Vista:
sin imagen de perfil

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por José (26 intervenciones) el 06/02/2018 09:53:39
Hola a todos. Estoy usando en un archivo esta macro

1
2
3
4
5
6
7
8
9
10
Private Sub Worksheet_Change(ByVal Target As Range)
    'celda que activa validacion datos
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub
       Range("D2").Select
       SendKeys ("%{Down}")
 
    End If
End Sub

Esta macro me permite que al rellenar una celda se despliegue una lista de validación de datos que se encuentra en otra celda, hasta ahí todo correcto. Sin embargo al pulsar enter y salir de la lista el teclado numérico se bloquea y cuando lo desbloqueo el punto que habitualmente se traduce en una coma decimal lo cambia a punto.

Como puedo evitar estos dos temas; 1º el bloqueo del teclado y 2º lo del cambio de coma a punto.

me gustaria mandar archivo ejemplo pero la pagina de momento no me lo permite

Gracias y saludos
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: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por Antoni Masana (2463 intervenciones) el 06/02/2018 11:59:55
Si quieres, puedes enviarmelo a mi correo.

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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por José (26 intervenciones) el 07/02/2018 15:36:10
Buenas Tardes Antoni.

Quizás deba matizar algo mejor el problema

Al referirme al teclado numérico me refiero al situado en la parte derecha del teclado.

También me refiero al punto de este mismo teclado que en condiciones normales al pulsarlo genera una coma. Lo que me ocurre es que al ejecutar la macro se producen dos cambios; 1º se apaga la luz del teclado y con ello queda bloqueado el teclado numérico (El derecho), y 2º, cuando lo desbloqueo se vuelve a encender la luz y el teclado vuelve a funcionar pero el punto que anteriormente a correr la macro generaba una coma ya genera un punto. ¿?

Sin embargo el punto y la coma del teclado de letras siguen funcionando bien.

Lamento no haberme explicado bien.

Para mí el uso de este teclado es primordial.

Ya me contará.

Esperando su ayuda reciba un saludo y aprovecho para darle las gracias por su interés.
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por José (26 intervenciones) el 07/02/2018 11:15:02
Bienos dias Antoni. He probado en otros ordenadores con excel 2013 y 2016 y sigo teniendo el mismo problema. No he podido probar con exel 2010. ¿podria buscar un codigo que me despliegue la valiacion de datos al entrar en ella sin hacer doble clic y que no utilice el SendKeys ("%{Down}")

Gracias y saludos de José Segura
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por JuanC (1237 intervenciones) el 07/02/2018 15:48:17
he probado el código con una lista y no me apaga la luz del teclado
¿no será que el ALT+down es un hotkey de su pc para deshabilitar el teclado numérico?
¿podrías subir tu libro?
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por JuanC (1237 intervenciones) el 07/02/2018 18:38:04
mi conclusión es que te pelees con el SO! fijate en la configuración del teclado en el panel de control, accesibilidad
tiene que ver con los tiempos de repetición, filtros y teclas 'especiales'... al simular la tecla ALT+DOWN se producen los problemas,
se puede ver que enciende y apaga la luz de BLOQ NUM, en tu caso quizá se cambia y no vuelve... (si usas portatil la tienes más difícil!)
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: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por Antoni Masana (2463 intervenciones) el 07/02/2018 20:35:53
Ya esta solucionado.

Es un bugger del Excel con el SendKeys y solo pasa en las últimas versiones de Officce, 2013, 2016, 365, etc

La solución la he encontrado en el Foro de Access de la Web del Programador

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Object
 
    ' --- celda que activa validacion datos
 
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub
        Range("C2").Select
        Set ws = CreateObject("WScript.shell")
        ws.SendKeys "%{DOWN}"
        Set ws = Nothing
    End If
End Sub

Encontrado aquí:

https://www.lawebdelprogramador.com/foros/Access/1427642-al-ejecutar-macro-se-desactiva-num-lock.html

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por JuanC (1237 intervenciones) el 08/02/2018 00:39:56
buen hallazgo! supuse que podía ser otro fallo de excel, pero difícil dar pruebas contundentes!
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por Francisco (1 intervención) el 28/08/2019 12:36:42
El problema también aparece en Access 2016
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por Jorge Acosta (3 intervenciones) el 24/11/2020 01:22:58
Excelente el aporte, me funciono evitar que se me desactive el teclado numérico variando ENTER por NUMLOCK, muchas gracias por el aporte amigos.

1
2
3
4
Dim ws As Object
Set ws = CreateObject("WScript.shell")
ws.SendKeys "{NUMLOCK}"
Set ws = Nothing
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

Problemas al ejecutar un procedimiento SendKeys, el teclado numérico se bloquea y cambia , por .

Publicado por Jorge Acosta (3 intervenciones) el 24/11/2020 02:05:50
Asi me funcionó mejor, así cuando el teclado numérico esta activo, se desactiva, pero inmediatamente se activa nuevamente ejecutando por segunda vez sendkeys, con esto en caso que el teclado se desactive al usar una macro por accidente se volverá a activar.

1
2
3
4
5
Dim ws As Object
Set ws = CreateObject("WScript.shell")
ws.SendKeys "{NUMLOCK}" 'si esta activo lo desactiva
ws.SendKeys "{NUMLOCK}" 'si esta desactivo lo activa
Set ws = Nothing
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