Imagen con texto flotante y asignada a una macro

Actualmente las aplicaciones tienen imágenes que funcionan como un botón, para realizar diversas funciones añadir, eliminar, copiar, etc.

Tengo un archivo en Excel 2013 con el que deseo hacer lo mismo, colocar una imagen que al darle clic ejecute una macro en VBA. El verdadero problema al que me enfrento es que quiero que al pasar el mouse sobre esa imagen aparezca un texto que diga "Generar" y que al quitar el mouse desaparezca. Así como cuando haces un hipervinculo, solo que no he logrado colocar ambos eventos en la imagen al mismo tiempo tanto el hipervinculo como la macro.

Y ya seria un plus si al colocar el mouse en la imagen cambie la forma del mouse a una manita como de "dar clic".

2 respuestas

Respuesta
1

Revisa lo siguiente si te ayuda un poco:

Cambiar colores de varios CommandButton al pasar el mouse

Muchas gracias por la información. 

¿Cómo podría asociar el evento Mousemove a una imagen insertada?. Y en esta caso lo que deseo es agregar un "texto descriptivo" de lo que hará la imagen en caso de darle clic. Como cuando tienes el icono de copiar y pasas el mouse sobre él y aparece el texto flotando que dice "Copiar". 

Las imágenes no tienen eventos.

Intenta insertar la imagen en un commandbutton de control activex y revisa como resulta.

Primero resolvamos lo de la imagen y después veo lo del texto.

Puedes poner una imagen de lo que pretendes.

Hola. No puedo agregar una imagen a la respuesta, pero lo del texto, tal cual abre una hoja de Excel en blanco y si posicionas el cursor en el icono N de formato te aparece una leyenda que dice "Negrita". Es como el texto que colocas al crear un hipervínculo le llaman tooltip me parece. Pero con la imagen por si sola no me permitía hacer ambas cosas asignar tanto un hipervínculo como asignar una macro.

Revisa lo siguiente:

No sé cómo Incluir una foto

Realiza los siguientes pasos:

1. Presiona click derecho sobre tu imagen

2. En las opciones selecciona "Hipervínculo"

3. En la siguiente ventana, presiona el botón "Info. en pantalla". Captura el texto que deseas, por ejemplo "Generar", presiona Aceptar.

4. En esa misma ventana. Selecciona Lugar de este documento. En el campo "Escriba la referencia de celda" pon una celda que esté debajo de tu imagen, en mi ejemplo la celda C7 está debajo de la imagen.

En Referencia de la celda, selecciona la hoja donde tienes tu imagen, en mi ejemplo está en la "Hoja1".

Presiona Aceptar.

5. Con lo anterior, cuando acerques el mouse, el apuntador cambia a la forma de manita y aparece el texto "Generar".

6. Ahora para ejecutar tu macro, pon el siguiente código en los eventos de tu hoja.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Target, Range("C7")) Is Nothing Then
    If Target.CountLarge > 1 Then Exit Sub
    Call MacroGenerar
    Range("C8").Select
  End If
End Sub

En el código anterior cambia "C7" por la celda que elegiste en el hipervículo.

Cambia "C8" por otra celda que se encuentre debajo de tu imagen, debe ser distinta a la celda "C7".

Cambia MacroGenerar por el nombre de tu macro que quieres ejecutar cuando presiones esta imagen.

7. Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

8. Listo. Regresa a la hoja excel, acerca el mouse a la imagen y presiona click sobre la imagen para ejecutar la macro.

9. Repite los pasos para las otras imágenes.

Realiza los siguientes pasos:

1. Presiona click derecho sobre tu imagen, en las opciones selecciona "Hipervínculo"

2. En la siguiente ventana, presiona el botón "Info. en pantalla".

En el campo "Información en pantalla" escribe el texto "Generar"

Presiona Aceptar.

3. En la misma ventana. Selecciona Lugar de este documento.

En el campo "Escriba la referencia de celda", escribe una celda que esté abajo de la imagen, en mi ejemplo la celda "C7" está debajo de mi imagen.

En "Selecciona un lugar de este documento" selecciona la hoja con tu imagen, en mi ejemplo es la Hoja1.

Presiona Aceptar.

4. Con lo anterior si acercas el mouse a la imagen, el apuntador cambia a la "manita" y aparece el texto "Generar"

5. Ahora, para ejecutar tu macro, pon el siguiente código en los eventos de tu hoja.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Target, Range("C7")) Is Nothing Then
    If Target.CountLarge > 1 Then Exit Sub
    Call MacroGenerar
    Range("C8").Select
  End If
End Sub

Cambia en el código "C7" por la celda que elegiste en el hipervículo.

Cambia MacroGenerar por el nombre de tu macro.

Cambia "C8" por otra celda que también se encuentre debajo de tu imagen. Debe ser diferente a la C7.

6. Sigue las Instrucciones para poner la macro en los eventos de worksheet

  • Entra al menú de VBA.
  • Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  • Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  • En el panel del lado derecho copia la macro

7. Regresa a la hoja y presiona la imagen para ejecutar tu macro.

8. Repite los pasos anteriores para las otras imágenes.

Respuesta
1

Revisa este video puede que te ayude con tu requerimiento

Botones personalizados para tus FORMULARIOS😱 y efectos MOUSEOVER y hover en Excel VBA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas