efecto mouseover en excel

Upload: jose-luis-cortes-torres

Post on 13-Oct-2015

257 views

Category:

Documents


14 download

TRANSCRIPT

  • Efecto MouseOver en Excel: es posible?

    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.