viernes, 14 de febrero de 2014

Resaltar la fila de la celda que estoy seleccionando

Hace ya mucho tiempo que no he publicado nada. Esto se debió a las carreras que uno tiene cotidianamente, y mas a principio de año, con todo lo que implica (en tiempo y dinero) el regreso a clases de los chicos, que hacen que uno como padre de familia este mas tenso que cuerda de guitarra.

Pero bueno, hoy navegue un poco, y los que me conocen saben que investigar sobre Excel, se ha vuelto, en este último tiempo, un sano pasatiempo.

Pues me tope con la sorpresa de encontrar una publicación buenísima, en la página Excel Total. Mi intención no es hacer un "copy - paste" de esa publicación, aunque por la falta de tiempo, a veces uno tiene la tentación de hacerlo; ...sino de compartir el conocimiento dando mi granito de arena.

Bueno, como diría el pollito: "Vamos al grano"


Tenemos una tabla con mucha información y el estar desplazándonos de una linea a otra para ver información, se vuelve cansado, tedioso, duro, trabajoso, difícil, etc...

Es por ello que realizar una pequeña macros que nos permita resaltar la fila de la celda que estamos seleccionando resulta muy útil al momento de visualizar la información.

Para lograrlo utilizaremos los siguientes pasos:
Paso 1. Activamos el Visual Basic for application presionando las teclas ALT + F11

Paso 2. Insertamos un módulo (hacemos clic en el menú Insertar, luego seleccionamos Módulo.

Paso 3. En el módulo copiaremos el siguiente código:
          Public celdaAnterior As Range
          Public celdaActual As Range

Esas lineas crean dos variables que almacenaran el rango de la celda anterior y de la actual. 

Paso 4. Hago doble clic en la hoja que quiero que se marque las celdas, en este caso, seleccionaremos la "Hoja1" y copiaremos el siguiente código:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next

    Set celdaAnterior = celdaActual
    Set celdaActual = Target
    celdaAnterior.EntireRow.Interior.Color = xlNone
    Target.EntireRow.Interior.Color = RGB(100, 180, 145)
End Sub

 Este procedimiento se realizará cuando cambie la selección de una celda.

Paso 5. Finalmente cierro el Visual Basic, y en el Excel, donde haga clic se pintará del color indicado, como observamos en la siguiente imagen:

Espero que les sirva.

Saludos

Ing. Enrique Neciosup Morales