Cómo resaltar filas y columnas activas en Excel

  • Compartir Este
Michael Brown

En este tutorial, aprenderá 3 formas diferentes de resaltar dinámicamente la fila y la columna de una celda seleccionada en Excel.

Cuando se visualiza una hoja de cálculo de gran tamaño durante mucho tiempo, es posible que se pierda la noción de dónde se encuentra el cursor y qué datos se están mirando. Para saber exactamente dónde se encuentra en cada momento, haga que Excel resalte automáticamente la fila y la columna activas. Naturalmente, el resaltado debe ser dinámico y cambiar cada vez que seleccione otra celda. Básicamente, esto es lo que pretendemos conseguir:

    Resaltar automáticamente la fila y la columna de la celda seleccionada con VBA

    Este ejemplo muestra cómo puede resaltar una columna y una fila activas mediante programación con VBA. Para ello, utilizaremos la función CambioSelección evento del Hoja de trabajo objeto.

    En primer lugar, se borra el color de fondo de todas las celdas de la hoja estableciendo el parámetro ÍndiceColor a 0. A continuación, se resalta toda la fila y columna de la celda activa estableciendo su propiedad ÍndiceColor al número de índice del color deseado.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Borrar el color de todas las celdas Cells.Interior.ColorIndex = 0 With Target 'Resaltar fila y columna de la celda seleccionada .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Personalización del código

    Si quieres adaptar el código a tus necesidades, estos pequeños consejos pueden resultarte útiles:

    • Nuestro código de ejemplo utiliza dos colores diferentes que se muestran en el gif anterior: el índice de color 38 para la fila y el 24 para la columna. Para cambiar el color de resaltado simplemente sustitúyalos por cualquier código ColorIndex de su elección.
    • Para obtener la fila y la columna de color en el de la misma manera utilice el mismo número de índice de color para ambos.
    • Para resaltar sólo el fila activa elimine o comente esta línea: .ColumnaEntera.Interior.ColorIndex = 24
    • Para resaltar sólo el columna activa elimine o comente esta línea: .EntireRow.Interior.ColorIndex = 38

    Cómo añadir el código a la hoja de cálculo

    Para que el código se ejecute silenciosamente en segundo plano en una hoja de cálculo concreta, debes insertarlo en la ventana de código perteneciente a esa hoja de cálculo, no en el módulo normal. Para ello, sigue estos pasos:

    1. En su libro de trabajo, pulse Alt + F11 para acceder al editor VBA.
    2. En el Explorador de proyectos de la izquierda, verás una lista de todos los libros de trabajo abiertos y sus hojas de cálculo. Si no la ves, utiliza la combinación de teclas Ctrl + R para abrir la ventana del Explorador de proyectos.
    3. Busque el libro de trabajo de destino. En su Objetos de Microsoft Excel haga doble clic en la hoja en la que desee aplicar el resaltado. En este ejemplo, se trata de Ficha 1 .
    4. En la ventana Código de la derecha, pegue el código anterior.
    5. Guarde su archivo como Libro de trabajo con macros (.xlsm).

    Ventajas todo se hace en el backend; no se necesitan ajustes/personalizaciones por parte del usuario; funciona en todas las versiones de Excel.

    Inconvenientes Pero el problema es el siguiente: hay dos inconvenientes esenciales que hacen que esta técnica sea inaplicable en determinadas circunstancias:

    • El código borra los colores de fondo de todas las celdas de la hoja de cálculo. Si tiene celdas coloreadas, no utilice esta solución porque se perderá el formato personalizado.
    • Ejecutar este código bloquea la función de deshacer en la hoja, y no podrá deshacer una acción errónea pulsando Ctrl + Z .

    Resaltar fila y columna activas sin VBA

    Lo mejor que puedes conseguir para resaltar la fila y/o columna seleccionada sin VBA es el formato condicional de Excel. Para configurarlo, sigue estos pasos:

    1. Seleccione el conjunto de datos en el que debe realizarse el resaltado.
    2. En el Inicio en la pestaña Estilos grupo, haga clic en Nueva norma .
    3. En el Nueva regla de formato seleccione Utilizar una fórmula para determinar qué celdas formatear .
    4. En el Formatear los valores en los que esta fórmula es verdadera introduzca una de estas fórmulas:

      Para destacar fila activa :

      =CELL("fila")=ROW()

      Para destacar columna activa :

      =CELL("col")=COLUMN()

      Para destacar fila y columna activas :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      Todas las fórmulas utilizan la función CELDA para devolver el número de fila/columna de la celda seleccionada.

    5. Haga clic en el botón Formato cambiar al botón Rellene y selecciona el color que más te guste.
    6. Pulse OK dos veces para cerrar ambas ventanas de diálogo.

    Si cree que necesita instrucciones más detalladas, consulte Cómo crear una regla de formato condicional basada en fórmulas.

    Para este ejemplo, hemos optado por la fórmula OR para sombrear tanto la columna como la fila del mismo color. Esto requiere menos trabajo y es adecuado para la mayoría de los casos.

    Desafortunadamente, esta solución no es tan buena como la de VBA porque requiere recalcular la hoja manualmente (pulsando la tecla F9). Por defecto, Excel recalcula una hoja de cálculo sólo después de introducir nuevos datos o editar los existentes, pero no cuando cambia la selección. Así pues, si selecciona otra celda, no ocurre nada. Pulse F9: la hoja se actualiza, la fórmula se recalcula y el resaltado se actualiza.

    Para que la hoja de cálculo se recalcule automáticamente cada vez que se active la función CambioSelección puede colocar este sencillo código VBA en el módulo de código de la hoja de destino, como se explica en el ejemplo anterior:

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    El código obliga al rango/celda seleccionado a recalcular, lo que a su vez obliga a la función CELDA a actualizarse y al formato condicional a reflejar el cambio.

    Ventajas : a diferencia del método anterior, éste no afecta al formato existente que haya aplicado manualmente.

    Inconvenientes : puede empeorar el rendimiento de Excel.

    • Para que el formato condicional funcione, debe forzar a Excel a recalcular la fórmula en cada cambio de selección (ya sea manualmente con la tecla F9 o automáticamente con VBA). Los recálculos forzados pueden ralentizar su Excel. Dado que nuestro código recalcula la selección en lugar de una hoja entera, es muy probable que sólo se note un efecto negativo en libros realmente grandes y complejos.
    • Dado que la función CELDA está disponible en Excel 2007 y versiones superiores, el método no funcionará en versiones anteriores.

    Resalte la fila y columna seleccionadas mediante formato condicional y VBA

    En caso de que el método anterior ralentice considerablemente su libro de trabajo, puede enfocar la tarea de otra manera: en lugar de recalcular una hoja de trabajo en cada movimiento del usuario, obtenga el número de fila/columna activa con la ayuda de VBA y, a continuación, sirva ese número a la función ROW() o COLUMN() utilizando fórmulas de formato condicional.

    Para conseguirlo, aquí tienes los pasos que debes seguir:

    1. Añade una nueva hoja en blanco a tu libro de trabajo y nómbrala Hoja de ayuda El único propósito de esta hoja es almacenar dos números que representan la fila y la columna que contienen una celda seleccionada, para que pueda ocultar la hoja con seguridad en un momento posterior.
    2. Inserte el siguiente VBA en la ventana de código de la hoja de cálculo en la que desea implementar el resaltado. Para obtener instrucciones detalladas, consulte nuestro primer ejemplo. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Hoja de ayuda" ).Cells(2, 1) = Target.Row Worksheets( "Hoja de ayuda" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub

      El código anterior coloca las coordenadas de la fila y columna activas en la hoja llamada "Hoja de ayuda". Si en el paso 1 ha nombrado su hoja de otra manera, cambie el nombre de la hoja de trabajo en el código según corresponda. El número de fila se escribe en A2 y el número de columna en B2.

    3. En la hoja de cálculo de destino, seleccione todo el conjunto de datos y cree una regla de formato condicional con las fórmulas siguientes. En el ejemplo anterior se proporciona una guía paso a paso.

    Y ahora, vamos a tratar en detalle los tres casos de uso principales.

    Cómo resaltar la fila activa

    Para resaltar la fila en la que se encuentra el cursor en ese momento, configure una regla de formato condicional con esta fórmula:

    =ROW()='Hoja de ayuda'!$A$2

    Como resultado, el usuario puede ver claramente qué fila está seleccionada en ese momento:

    Cómo resaltar la columna activa

    Para resaltar la columna seleccionada, introduzca el número de columna en la función COLUMNA utilizando esta fórmula:

    =COLUMN()='Hoja de ayuda'!$B$2

    Ahora, una columna resaltada le permite leer cómodamente y sin esfuerzo datos verticales centrándose totalmente en ellos.

    Cómo resaltar la fila y la columna activas

    Para que tanto la fila como la columna seleccionadas se sombreen automáticamente en el mismo color, combine las funciones FILA() y COLUMNA() en una fórmula:

    =OR(FILA()='Hoja auxiliar'!$A$2, COLUMNA()='Hoja auxiliar'!$B$2)

    Los datos relevantes aparecen inmediatamente en primer plano, para que no los malinterpretes.

    Ventajas : rendimiento optimizado; funciona en todas las versiones de Excel

    Inconvenientes : la configuración más larga

    Así es como se resalta la columna y la fila de una celda seleccionada en Excel. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!

    Cuaderno de prácticas para descargar

    Resaltar fila y columna activas (archivo .xlsm)

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.