Página 1 de 1

mouse event on cells

Publicado: 30 May 2014 18:16
por camus
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,

Re: mouse event on cells

Publicado: 30 May 2014 19:11
por Adrian
Hola, desde mi entender, "la cosa es algo rebuscada", con una etiqueta y código se puede hacer algo. Ver adjunto.

Re: mouse event on cells

Publicado: 31 May 2014 02:22
por camus
Hola Adrian,

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

Un saludo

Re: mouse event on cells

Publicado: 03 Jun 2014 05:43
por camus
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,

Re: mouse event on cells

Publicado: 03 Jun 2014 11:45
por Antoni
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.

Re: mouse event on cells

Publicado: 03 Jun 2014 18:44
por Adrian
Hola, y si al formulario le colocamos la propiedad ShowModal a false?