Manejar Click del Mouse en una Hoja de Excel y correr una Macro ???

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Manejar Click del Mouse en una Hoja de Excel y correr una Macro ???

Notapor Titan » 20 Jun 2006 17:40

Amigos que tal, estoy tratando de poder obtener el Click del Mouse cuando estoy corriendo en Excel y cuando detecte este click quiero ejecuta una macro, alguien sabe como puedo hacerlo... ?

HE probado:

1) Utilice el doble click, pero no me sirve ya que no puedo realizar el doble click con la parte fisica que estoy armando.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
....

End Sub


2) Ocupe el click del boton derecho:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _
Cancel As Boolean)
....

End Sub

=>Esta me sirve, al presionar el boton derecho, pero el problema que luego me aparece le menu contextual del boton derecho, entonces:

a) Se puede eliminar que aparesca este menu??

b) La solución que le di fue colocar luego de mi macro un enter,l para que desapareciera:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _
Cancel As Boolean)
'
M1_MACRO_EJECUTA_PROCESO CAMBIA_NUMERO = True
Application.SendKeys "{RETURN}", True
'
End Sub

Con eso desaparezo el menu, pero no me convence pues igual se ve el menu que aparece y luego desaparece... mmmmm

3) La verdad quiero obtener el click del tercer boton o el click de los dos botones al presionarlos juntos, pero no aparece como un procedimiento dentro de la hoja...
==> Se puede obtener de algun lado????

4) Mejor todabví­a, hay alguna otra forma de detectar el mouse y ocuparlo en un macro ???? porque en los dos casos anteriores si saco el mouse de la hoja deja de funcionar....

Si me pueden ayudar se los agradecere mucho...

Saludos a todos...
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Notapor opermty » 20 Jun 2006 17:59

Para deshabilitar la opcion del menu boton derecho seria com sigue:

Sub kita()
Application.CommandBars("cell").Enabled = False
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor Titan » 20 Jun 2006 18:26

Muchas Gracias opermty, pude deshabilitar el menu contextual (así­ se dice??? ji ji), efectivamente queda mucho mejor.

Igual sigo a la busqueda de peder ver el tema de detectar los dos botones a la vez, o el tercero, porque así­ no pierdo la funcionabilidad del boton derecho, ya que ahora como lo tengo, el boton derecho no lo puedo ocupar, excepto para ejecutar mi macro...

En todo caso te pasaste porque me sirve super bien.... muchas Gracias... :) :) :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Notapor opermty » 20 Jun 2006 18:38

Recuerda nada mas que habemos usuarios a los que nos gusta usar el boton centrar (o scroll) para hacer zoom dentro de la hoja o bien al precionar desplazarnos dentro de la misma :)

Application.RollZoom = True / False

Lo de la deteccion de presionar el boton ya viene siendo mas controlable con las apis.

saludos

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 20 Jun 2006 18:40

A cuanto horror de ortografia :S
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor Titan » 20 Jun 2006 18:48

Ok, por lo de ortgrafí­a, si escribo muy rápido y problemas.... :)
Lo del tercer boton tienes razón, pero para la aplicación que hago no es necesario y solo lo deshabilitaria cuando este corriendo el programa...

Muchas GRacias... :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Notapor opermty » 20 Jun 2006 18:59

Lo de la ortografia lo decia por mi :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor Titan » 20 Jun 2006 19:15

Ja ja ja .. estamos igual.... muchos Saludos... :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Re: Manejar Click del Mouse en una Hoja de Excel y correr una Macro ???

Notapor p@li » 20 Jun 2006 21:10

hola que tal
para detectar el click derecho del mouse se puede hacer lo siguiente

Do
DoEvents
If GetAsyncKeyState(2) <> 0 Then
'entra aca cuando apretas el boton derecho del mouse
End If
Loop

saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Re: Manejar Click del Mouse en una Hoja de Excel y correr una Macro ???

Notapor p@li » 20 Jun 2006 21:12

disculpen eso estaba incompleto, se los paso bien, con la declaracion de api

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Sub prueba()
Do
DoEvents
If GetAsyncKeyState(2) <> 0 Then
Stop
End If
Loop
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Notapor opermty » 20 Jun 2006 21:31

Algunas partes en lo personal me marca errores en la compilacion, yo uso Office XP, el siguiente codigo me funciona sin compliciones:


Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Sub prueba()
Do
DoEvents
If GetAsyncKeyState(2) <> 0 Then MsgBox "Mi rutina aki"
Loop
End Sub

El detalle es que para que no arroje el menu contextual del boton derecho tendria que estar precisamente el puntero fuera de alguna celda como referencia, es decir sobre las lineas de excel para no desplegar el susodicho.

Saludos

Gracias a p@li por su aporte, habia pensado en APIS pero para el caso se me hace suficiente con los eventos de excel, cuestion de gustos y funcionalidad
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Manejar Click del Mouse en una Hoja de Excel y correr una Macro ???

Notapor ST » 21 Jun 2006 00:37

segun entiendo de Titan el boton derecho si le sirve,pero desearia que no mostrara el menu contextual.

entonces la solucion es pues mas sencilla(si es que entedi bien..y que no se me da mucho,je,je,je :oops: )

solo se debe deshabilitar la aparicion del menu contextual :arrow:

disculpen que no haya depurado la macro del doble click ya que no es de interes en este caso.

por cierto..agradecido con p@li y oper por sus codigos :lol:
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ST
Miembro Frecuente
Miembro Frecuente
 
Registrado: 06 Jun 2005 17:56
Ubicación: Acapulco

Notapor opermty » 21 Jun 2006 00:52

Agradecidos todos vecino, en lo particular estoy para aprender VBA, WSH, APIS, Vbscripts, Java & C dentro de lo que mis ocupaciones me lo permiten :)
Lento pero seguro ... jeje
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor Titan » 21 Jun 2006 11:38

Amigos muy agadecido, sus aportes son de mucha ayuda ya que cada vez aprendo de este poderoso Excel, ahora si les tengo la pregunta del millon :

Primero me funciona para lo que quiero con el boton derecho, pero:

1) Es posible capturara en vez del derecho, el presionar ambos botonoes a la vez, o sea, el izq y der a la vez ???
==> Esto porque así­ no deshabilito el boton derecho en mi macro ya que la conbinacion de aplastar los dos a la vez es muy baja o no se esua en el programa.

2) Lo Segundo, esto me funciona impeque cuando estoy sobre la hoja de trabajo, pero basta en cambiarme a la barra de menu de Excel y ya no funciona, o cambiarme a la barra de Windows (XP) y tampoco funciona, es posible con alguna API (por lo que veo) que me funcione siempre? y así­ me conviene detectar el aplastar el izq y der !!!!...

Amigos Muchisimas gracias...

Saludos a Todos y en espera de sus comentarios ... :) :) :)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Notapor Titan » 21 Jun 2006 13:49

De hecho, deberí­a capturar esos eventos con alguna API ???? Ayuda.... :) Grs...
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Titan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 12 Oct 2005 16:37
Ubicación: Chile

Siguiente

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: cjadeva, huatson70, silvia quispe, sonkanon y 15 invitados