Todos conocemos la propiedad .ControlTipText que nos permite asociar un comentarios nuestros controles de UserForms, sin embargo, tal cosa no es posible en las autoformas de la hoja de cálculo.
Por este motivo hoy veremos una manera de engañar a Excel para conseguir el efecto de un TipText (mensaje o comentario) asociado a una autoforma.
Para ello necesitamos lo siguiente:
Dos controles ActiveX del tipo Etiqueta (o label), al que hemos borrado el texto de su propiedad Caption.
Los he llamado 'Contorno1' y 'Contorno2'. Estas 'Etiquetas' serán las que controlarán el mensaje o comentario.
Por supuesto necesitamos nuestro comentario.
Para ello insertamos un Cuadro de Texto desde la ficha Insertar > grupo Ilustraciones > botón Formas > Cuadro de texto. Le llamamos 'Msg_Comentario'.
A este cuadro de texto le añadimos un comentario...
Finalmente insertamos un botón o imagen o autoforma al que asociamos/asignamos la ejecución de nuestra macro principal. Para el ejemplo, insertamos en un módulo estándar de nuestro proyecto de VB:
Llega el momento de tratar el evento MouseMove, por lo que accedemos a la ventana de código de la hoja donde estamos trabajando, y buscamos en el primer desplegable el objeto 'Contorno1':
A continuación le asociamos el evento MouseMove desde el segundo desplegable:
Añadimos una línea de código en este evento para conseguir ocultar el Cuadro de texto que habíamos nombrado como 'Msg_comentario':
Repetimos la operación para el Contorno2, con el siguiente código
Tenemos todo listo, solo falta componer el cuadro.
Lo primero que haremos será superponer (por capas) el Contorno1 (en el fondo) el Contorno2 (encima del Contorno1) y por último el botón de la macro (por encima de los dos Contornos):
Es importante la posición de los Contornos, ya que de ello depende el efecto de mostrar/ocultar el comentario...
Para hacer invisible los controles ActiveX de etiquetas 'Contorno1' y 'Contorno2' podemos cambiarles la propiedad .BackStyle a 0-fmBackStyleTransparent:
Vemos el efecto final conseguido en la siguiente imagen:
Por este motivo hoy veremos una manera de engañar a Excel para conseguir el efecto de un TipText (mensaje o comentario) asociado a una autoforma.
Para ello necesitamos lo siguiente:
Dos controles ActiveX del tipo Etiqueta (o label), al que hemos borrado el texto de su propiedad Caption.
Los he llamado 'Contorno1' y 'Contorno2'. Estas 'Etiquetas' serán las que controlarán el mensaje o comentario.
Por supuesto necesitamos nuestro comentario.
Para ello insertamos un Cuadro de Texto desde la ficha Insertar > grupo Ilustraciones > botón Formas > Cuadro de texto. Le llamamos 'Msg_Comentario'.
A este cuadro de texto le añadimos un comentario...
Finalmente insertamos un botón o imagen o autoforma al que asociamos/asignamos la ejecución de nuestra macro principal. Para el ejemplo, insertamos en un módulo estándar de nuestro proyecto de VB:
Sub MacroPrincipal() 'correspondería al procedimiento principal a ejecutar '[código principal].... MsgBox "Has presionado el botón de la macro" End Sub
Llega el momento de tratar el evento MouseMove, por lo que accedemos a la ventana de código de la hoja donde estamos trabajando, y buscamos en el primer desplegable el objeto 'Contorno1':
A continuación le asociamos el evento MouseMove desde el segundo desplegable:
Añadimos una línea de código en este evento para conseguir ocultar el Cuadro de texto que habíamos nombrado como 'Msg_comentario':
Private Sub Contorno1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 'Al pasar el cursor por este 'Contorne' Exterior 'ocultamos el cuadro de texto con el comentario ActiveSheet.Shapes("Msg_Comentario").Visible = msoFalse End Sub
Repetimos la operación para el Contorno2, con el siguiente código
Private Sub Contorno2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 'Al pasar el cursor por este 'Contorne' Interior 'mostramos el cuadro de texto con el comentario ActiveSheet.Shapes("Msg_Comentario").Visible = msoTrue End Sub
Tenemos todo listo, solo falta componer el cuadro.
Lo primero que haremos será superponer (por capas) el Contorno1 (en el fondo) el Contorno2 (encima del Contorno1) y por último el botón de la macro (por encima de los dos Contornos):
Es importante la posición de los Contornos, ya que de ello depende el efecto de mostrar/ocultar el comentario...
Para hacer invisible los controles ActiveX de etiquetas 'Contorno1' y 'Contorno2' podemos cambiarles la propiedad .BackStyle a 0-fmBackStyleTransparent:
Vemos el efecto final conseguido en la siguiente imagen:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.