Nosotros | Acceder | Web | Plantillas |

El efecto HOVER en un control TextBox de una hoja de Excel


El tema que nos trae a este post surge a raíz de un video que publicamos hace un tiempo en nuestro canal donde presentábamos el efecto HOVER por así decirlo, dentro de una caja de TextBox en una hoja de Excel. Pero a que nos referimos con el efecto HOVER, mira, si observas la imagen inferior donde en una hoja de Excel tenemos un control TextBox y por defecto nos muestra un texto que dice buscar, pero cuando damos clic para escribir dentro de él el texto buscar desaparece y nos deja escribir un nuevo texto y de otro color, ahora si salimos del control el texto buscado se mantiene, pero si se borra el texto y se selecciona cualquier otra celda de la hoja vemos que nuevamente se muestra la palabra Buscar que teníamos al inicio. Entonces en este artículo te muestro a cómo hacerlo en un par de líneas de código.


Para que tengas toda la información a tu alcance puedes descargar el material usado en este post:

Implementando el efecto HOVER

Básicamente implementar este efecto es muy sencillo, consiste simplemente en programar unas líneas de código y tener el efecto listo para ser usado. Mira, primero y el paso que no debería faltar es guardar el libro cómo libro habilitado para macros y creo que esto no es un mayor problema puedes hacerlo desde la pestaña archivo, > guardar > Examinar > y en tipo seleccionar libro habilitado para macros o bien puedes ir directamente presionando la tecla F12, y guardar el libro.


Insertando un control TextBox de tipo ActiveX

Para insertar un control de tipo ActiveX en una hoja de Excel, nos vamos a la pestaña programador < grupo controles > insertar > Control ActiveX, lo dibujamos en un espacio de la hoja y así ya tendríamos nuestro control implementado. 


Para programar el código damos dos veces clic sobre del control y nos lleva a la ventana de visual Basic para aplicaciones. Estando aquí básicamente vamos a usar dos eventos, primero el evento SelectionChange de la hoja y al evento GouFocus, del control ActiveX estos dos eventos son los que harán la magia para el efecto HOVER de nuestro control.


Primero, dentro del evento SelectionChange de nuestra hoja vamos a delimitar un rango de celdas para que cuando seleccionemos alguna celda el texto Buscar se muestre en el control,  para eso dentro de este evento vamos a pegar el código que a continuación se muestra:

If Not Intersect(Target, Range("A:M")) Is Nothing Then 'Rango donde se aplica el efecto al hacer clic
    If TextBox1.Value = "" Then 'Si el control está vacío
        Me.TextBox1.Value = "Buscar..." 'Insertamos la palabra Buscar...
        TextBox1.ForeColor = vbRed ' Color de texto Rojo
        TextBox1.Font.Size = 20 'Tamaño de texto de 20 puntos
    End If
End If
En Visual Basic sería como se muestra:


Posteriormente en el evento GotFocus vamos revertir el efecto. Este evento significa un cambio al ubicarse sobre el control, es muy similar al evento Change. Entonces, dentro de este evento usamos el código:

If TextBox1.Value = "Buscar..." Then 'Revertimos la condición anterior
    TextBox1.Value = "" 'Limpiamos el control
    TextBox1.ForeColor = vbBlack 'Aplicamos un color negro al texto
    TextBox1.Font.Size = 20 'Aplicamos un tamaño de 20 puntos al texto
End If
El código en visual Basic quedaría:


De esta forma hemos implementado el efecto HOVER en un control TextBox de una hoja de Excel. De esto podríamos concluir que el efecto HOVER no solo mejora la funcionalidad y la estética de un control en Excel, sino que también potencia la interacción del usuario y favorece el dominio el rendimiento de los espacios usados. Por tanto, su implementación cuidadosa y efectiva es esencial para lograr una experiencia de usuario satisfactoria y memorable.
Comparte este Artículo :

Publicar un comentario

 
Soporte : Privacidad | Términos y Condiciones | Cookies
Copyright © Desde el 2022. Blog Dominando Ofimática - Derechos Reservados
Nuestros Proyectos Web Oficial Además de Nuestro Canal
Síguenos en TikTok