mouse event on cells

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!
Responder
camus
Miembro Frecuente
Miembro Frecuente
Mensajes: 7
Registrado: 30 May 2014 18:01

mouse event on cells

Mensaje por camus » 30 May 2014 18:16

Buenas noches,

Estoy intentando crear una macro que lo que tiene que hacer es que, cuando se pase el ratón por encima de una celda determinada, aparezca un userform con un texto determinado.

Soy capaz de mostrar el userform, pero no consigo crear un "event mouse over" sobre una celda ¿Alguien sabe cómo hacerlo?

Un saludo,



Avatar de Usuario
Adrian
Moderator
Moderator
Mensajes: 6424
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: mouse event on cells

Mensaje por Adrian » 30 May 2014 19:11

Hola, desde mi entender, "la cosa es algo rebuscada", con una etiqueta y código se puede hacer algo. Ver adjunto.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.



camus
Miembro Frecuente
Miembro Frecuente
Mensajes: 7
Registrado: 30 May 2014 18:01

Re: mouse event on cells

Mensaje por camus » 31 May 2014 02:22

Hola Adrian,

Es lo que buscaba, muchísimas gracias :-)

Un saludo



camus
Miembro Frecuente
Miembro Frecuente
Mensajes: 7
Registrado: 30 May 2014 18:01

Re: mouse event on cells

Mensaje por camus » 03 Jun 2014 05:43

Hola,

He estado analizando el código y he visto que lo que has hecho ha sido:
  1. 1. Crear una etiqueta sobre la que se generen los eventos
  • 2. Crear un procedimiento llamado "Etiqueta_MouseMove" que se ejecuta cuando el ratón se pasa por encima de un área determinada (A1:C7).
  • 3. Crear un procedimiento llamado "Worksheet_SelectionChange", al que se llama cuando haces click en cualquier parte de la hoja y en el que analizas si el ratón intersecciona con un área determinada (A1:C7)
El problema que no consigo solucionar es el siguiente: Al mostrar el formulario, éste tiene el foco por lo que aunque pases el ratón por cualquier área o intentes seleccionar alguna celda, no se ejecuta el procedimiento "Worksheet_SelectionChange"

Un saludo,



Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
Mensajes: 6410
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: mouse event on cells

Mensaje por Antoni » 03 Jun 2014 11:45

Te adjunto una variación de la respuesta de Adrian, utilizando otro label (T) en lugar de un formulario.

En el Módulo1 encontrarás una variable con el nombre Rango que especifica el rango de actuación del evento mouse_move del label(E).

El label se adapta de forma automática al tamaño y posicionamiento del rango.

Para seleccionar una celda concreta dentro del rango, posicionarse sobre ella con el mouse y, manteniendo el clic pulsado, arrastrar el mouse fuera del rango.

Existe otra forma de simular el evento mouse_move con la función HIPERVINCULO que es capaz de ejecutar una macro si el resultado es erróneo.

Te adjunto un ejemplo de su utilización.
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.



Avatar de Usuario
Adrian
Moderator
Moderator
Mensajes: 6424
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: mouse event on cells

Mensaje por Adrian » 03 Jun 2014 18:44

Hola, y si al formulario le colocamos la propiedad ShowModal a false?



Responder