Efecto MouseOver en Excel
Efecto MouseOver en Excel
Efecto MouseOver en Excel
SI TE GUST, COMPRTELO!
Google
Facebook
Twitter
No te ha pasado que en varias ocasiones has considerado la idea de utilizar un efecto
MouseOver en Excel para tus aplicaciones?
Seguramente s. El problema es que cuando te pones a buscar en los eventos de VBA, no
encuentras algo as para poder usarlo con una celda.
Pero s es posible lograrlo! Hoy voy a mostrarte cmo podras implementar un evento
MouseOver en tus desarrollos en Excel. Esto va a ayudarte a sorprender a tu jefe!
Efecto MouseOver en Excel, en 5 pasos
Vamos a hacer este efecto paso a paso y con paciencia. Te dars cuenta que en realidad es
muy sencillo de lograr.
Para el ejemplo he decidio realizar un recuadro sencillo con tres solapas, que detectarn
cuando el puntero del ratn pase encima de ellas y cambiarn el valor mostrado en el
recuadro.
01 Definiendo el rea del cuadro.
Aqu seleccionars el rea que contendr a tu recuadro con sus tres solapas. El rea que
seleccion yo es: F2:H20
Seleccionando el rea para nuestro recuadro.
Le pondrs bordes, la rellenars de un color gris y poco ms, a tu gusto.
02 Ingresando unos cuantos datos.
Ahora vas a ingresar unos cuntos datos en tu recuadro para darle forma. Yo he decidido
ponerle el texto Opcin 1, Opcin 2 y Opcin 3 en cada columna.
Debajo de estas etiquetas, en la siguiente fila, he colocado unos iconos especiales que
puedes obtener simplemente escribiendo el nmero 6 y cambiando la fuente a Webdings.
Adicionalmente, el rango F4:H20 lo he combinado y en l he escrito la frase Hola
Ecuador como prueba.
El recuadro listo. Ya lo has formateado y definido dnde irn las solapas.
03 Defines un nombre
Ahoras vas a definir un nombre en la celda B2. Este servir para almacenar el resultado de
la seleccin actual, para que sepas cul es la solapa activa. En mi caso, lo he llamado
seleccion
Nombras la celda B2 como seleccion
04 Creas una pequea macro.
Ahora debers de crear una sola funcin que tendr una lnea. No suena tan complicado,
verdad?
Public Function MiEvento(rngCelda As Range)
Range("seleccion").Value = rngCelda.Value
End Sub
No olvides crearla en un mdulo aparte, para ser ordenados.
La funcin recibe como parmetro un rango, que ser una celda (esto lo veremos en el
siguiente paso).
El objetivo de la funcin, ser poner en la celda que nombramos como seleccion, el valor
de la celda que le hemos pasado por parmetro. As, cada vez que ejecutemos esta funcin,
el valor de la celda seleccion se actualizar.
05 El secreto: Usa hipervnculos.
Recuerdas las celdas donde pusimos los iconos en forma de flechas apuntando hacia
abajo? Pues ahora en lugar de escribir en ellas el nmero 6, colocaremos la siguiente
frmula:
Usando la frmula Hipervnculo, para simular el efecto MouseOver.
Explicacin:
La frmula HYPERLINK() la utilizamos para convertir el contenido de la celda en un
enlace (como los de una pgina web); pero en lugar de pasarle una direccin como
parmetro, le pasamos el nombre de nuestra funcin MiEvento() definida en el cdigo
VBA.
A esta funcin le debemos pasar como parmetro la celda que tiene el nombre de nuestra
solapa, es decir, la que se encuentra en la lnea superior. Para el ejemplo, usamos la F2
Al no ser una direccin vlida, nuestra frmula nos dar un error. Aqu es donde entra al
rescate la funcin IFERROR()
La funcin ISERROR()va a evaluar el contenido de la frmula HYPERLINK(), si
devuelve un error, entonces mostrar el valor que le pasemos como segundo parmetro, en
este caso, el 6; de manera que se muestre el mismo caracter que tenamos al principio.
Recuerda copiar la frmula a las tres celdas que figuran como nuestras solapas.
06 Un retoque en el formato.
Hasta aqu, ya has logrado el efecto MouseOver en Excel. Si pasas el puntero del ratn
sobre los iconos, notars que la celda B2 (que nombramos como seleccion) cambia su
valor por el de la etiqueta activa.
Sin embargo, tenemos un pequeo inconveniente aqu: para que se active el evento,
debemos pasar el puntero del ratn exactamente sobre el icono. Sera mucho mejor si el
evento se disparara con solo pasar el puntero sobre la celda. Eso lo podemos conseguir
ajustando la alineacin de la celda a Wrap Text (Ajuste de Texto).
Activas el ajuste de texto para que toda la celda se considere como un hipervnculo.
En la celda F4, vas a colocar la frmula =seleccion. Con esto simulamos el cambio en el
panel central cada vez que pasemos el puntero del ratn sobre una solapa.
Una ltima mejora que haremos en nuestro archivo ser resaltar con otro color la solapa
activa. Para esto selecciona las tres solapas con sus respectivos iconos y utiliza el Formato
Condicional, tal y como te muestro en la imagen:
Utiliza el formato condicional para dar un efecto de animacin a tus solapas.
Nota:
Debes utilizar el ancla delante del nmero de lnea para que la frmula no se desplace
hacia abajo. Lo que nos interesa es comparar el valor de la lnea 2 contra el valor de la
celda seleccion.
Cmo resaltar la celda activa en Excel.
SI TE GUST, COMPRTELO!
Google
Facebook
Twitter
Mi archivo de Excel parece una sbana!
Alguna vez te has escuchado a ti mismo diciendo sto? Seguramente no te falta razn!
Y es que son muchos los usuarios que manejan gran cantidad de datos en su hoja de Excel.
A veces nos gustara tener un apoyo visual, como el que existe en ciertos sistemas en los
que en todo momento se nos muestra dnde est el cursor.
Imagina como sera tener esta ayuda en Excel.
Pero ser posible?
MS Excel no dispone de esa opcin, no de forma nativa al menos; pero gracias a su gran
flexibilidad, podemos realizar casi cualquier cosa que nos propongamos.
En la siguiente animacin vers una muestra lo que pretendo lograr:
Interesante No lo crees?
Pues sigue leyendo, porque te mostrar cmo puedes implementar esta til funcin en tu
propia hoja de Excel.
Vamos a dividir el proceso en 5 sencillos pasos:
1. Define el reaque vas a utilizar.
o En primer lugar, debes tener en mente el rea en la cual vas a trabajar.
Para el ejemplo, voy a utilizar el rea que ocupa el rango A7:I27
2. Selecciona dos celdas que usars para control y que estarn fuera del rango de trabajo.
o En mi caso, he elegido las celdas B2 y B3
o Dales un nombre a cada una.
A la celda B2 le he dado el nombre: miColumna
A la celda B3 le he dado el nombre: miFila
3. Usemos macros!
o Presiona las teclas ALT + F11 (para abrir el editor de macros)
o En la nueva ventana que se abri, haz clic derecho sobre el nombre de la hoja en
la que estabas trabajando y selecciona la opcin View Code (O ver cdigo si est
en espaol)
o En las listas de arriba, selecciona Worksheet y SelectionChange.
o Excel te mostrar una funcin Worksheet_SelectionChange()que est vaca.
o Dentro de esa funcin, escribe las siguientes lneas:
[miColumna] = Target.Column
[miFila] = Target.Row
Este cdigo lo que hace es asignar el valor de la columna y la fila actual a su
correspondiente celda de control. Por eso hemos utilizado los nombres que
le dimos a estas celdas hace un momento.
Haz la prueba. Cambia de celda y observa cmo se actualizan
automticamente los valores en las celdas de control.
Nota: Es importante que utilices los parntesis angulares -tambin llamados
corchetes- ( [ ] ), ya que sta es la forma de decirle a Excel que nos estamos
refiriendo a un nombre definido en la hoja y no a una variable.
4. Formato condicional. Una vez que ya tenemos la informacin referente a la columna y fila
seleccionada, vamos a aplicar un formato condicional.
o Selecciona el rango de tu rea de trabajo. En mi caso es el A7:I27
o Ve a la opcin Conditional Formatting -> New Rule
o Selecciona la ltima opcin Use a formula to determine wich cells to format
o Ingresa la siguiente frmula:
=COLUMN(A7)=miColumna
o Repite la operacin para agregar otra condicin al formato condicional e ingresa la
siguiente frmula:
=ROW(A7)=miFila
No olvides aplicar el formato en cada paso, indicndole el color de fondo
con el que quieres que se resalte la ubicacin de la celda actual.
Nota: Siempre utiliza la referencia a la primera celda de tu rango. En mi caso tengo
el rango A7:I27, por lo tanto, la primera celda es la A7, y es la que uso en la
frmula del formato condicional.
5. Disfruta del resultado!
o Ahora utiliza esta tcnica en tus reportes, nminas, tableros de comando, etc.
Seguramente dejars impresionado a tu jefe!
Resumiendo
Como has podido observar, el formato condicional puede ser un gran aliado para infinidad
de tareas.
Yo prefiero utilizar el formato condicional para este tipo de trabajos y lo complemento con
algo de cdigo VBA. El resultado puede llegar a ser mgico
La tcnica mostrada es una buena forma de hacerlo desde el punto de vista del rendimiento,
sobre todo si lo comparamos con opciones que usan cdigo VBA ms complejo.
Pero siempre hay ms de una forma de lograrlo.
As que anmate y cuntame Qu tcnica utilizaras t para resaltar la celda activa?
Espero tus comentarios.