🎁 15% en tu primera compra con el código BIENVENIDA15 Caduca en --d --h --m Ver tienda

RESALTAR FILAS

0,00
Pago seguro
Descarga inmediata
Más de 150 plantillas listas para usar

Descripción

⭐ Guía Gratuita

Resaltar la Fila Activa en Excel con Formato Condicional y VBA

Una fórmula y una línea de código. La fila seleccionada se resalta sola cada vez que cambias de celda.

6
Pasos del método
1
Línea de código VBA
0€
Coste de la guía

¿Para quién es esta guía?
  • ✅ Usuarios que trabajan con listados largos y pierden la fila activa al desplazarse
  • ✅ Administrativos y gestores que revisan tablas con decenas o centenas de filas a diario
  • ✅ Cualquiera que haya intentado usar CELDA("fila") y haya descubierto que no se actualiza sola
  • ✅ Usuarios que quieren dar su primer paso con VBA sin tener que aprender a programar
  • ✅ Profesionales que presentan datos en pantalla y necesitan que la fila seleccionada destaque visualmente

Por qué la fórmula CELDA("fila") sola no es suficiente y cómo solucionarlo con una línea de VBA

Cuando trabajas con tablas largas en Excel, es fácil perder de vista en qué fila estás. La solución lógica es usar formato condicional con =FILA()=CELDA("fila"), que debería colorear la fila activa. Sin embargo, Excel no recalcula CELDA automáticamente al cambiar de celda: solo lo hace cuando hay un evento de cálculo real, como modificar un valor. Por eso el resaltado se queda congelado en la última fila donde hubo un cálculo, no donde está el cursor.

La solución es añadir una línea de código VBA en el evento SelectionChange de la hoja. Este evento se dispara automáticamente cada vez que cambias de celda, y dentro de él se ejecuta Target.Calculate, que fuerza a Excel a recalcular la fórmula CELDA en el rango activo. En cada movimiento del cursor, Excel recalcula, la fórmula CELDA("fila") devuelve el número de fila correcto y el formato condicional colorea toda esa fila de inmediato. El efecto visual es exactamente el que esperas: una banda de color que sigue tu cursor por toda la tabla.

Qué es VBA y por qué no debes tenerle miedo en este caso

VBA son las siglas de Visual Basic for Applications, el lenguaje de programación integrado en Excel. Suena técnico, pero aquí solo necesitas pegar una línea dentro de un evento que Excel crea solo. No hace falta saber programar: el editor se abre con dos clics y el código ocupa una única línea en el lugar exacto que indica esta guía.

Por qué el fichero debe guardarse como .xlsm

El formato estándar .xlsx no permite guardar código VBA. Si intentas usarlo, Excel avisará de que las macros se perderán. Para que el resaltado funcione, guarda siempre el fichero como Libro de Excel habilitado para macros (.xlsm) desde Archivo → Guardar como. Cada vez que abras el fichero, acepta la opción de habilitar macros para que el comportamiento dinámico se active correctamente.

Cómo configurar el resaltado de fila activa paso a paso

Paso 1 y 2 — Abrir el editor VBA desde la pestaña
Clic derecho sobre la pestaña de hoja → Ver código
Haz clic derecho sobre el nombre de la hoja en la parte inferior de Excel, justo donde aparece la pestaña. En el menú contextual que aparece, selecciona Ver código. Se abrirá directamente el editor VBA posicionado en el módulo de esa hoja concreta, que es exactamente donde hay que pegar el código.
Paso 3 y 4 — Seleccionar Worksheet y SelectionChange
Desplegable izquierdo: Worksheet → Desplegable derecho: SelectionChange
En la parte superior del editor VBA hay dos desplegables. El de la izquierda debe estar en Worksheet; cambia el de la derecha a SelectionChange. Excel creará automáticamente la estructura vacía del evento. Solo tendrás que añadir la línea de código dentro de ella.
Paso 5 — Pegar el código dentro del evento
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Target.Calculate
End Sub
Dentro de la estructura del evento que ha creado Excel, añade únicamente la línea Target.Calculate entre Private Sub y End Sub. Esta instrucción fuerza el recálculo de la celda activa cada vez que cambias la selección, lo que activa la actualización del formato condicional en tiempo real.
Formato condicional — La fórmula que resalta la fila
=FILA()=CELDA("fila")
Esta fórmula se aplica como regla de formato condicional sobre todo el rango de tu tabla. FILA() devuelve el número de la fila de cada celda y CELDA("fila") devuelve el número de la fila activa. Cuando coinciden, la condición es verdadera y el formato se aplica. Gracias al código VBA, CELDA("fila") se recalcula en cada movimiento del cursor.
⭐ Paso 6 — Guardar como .xlsm
Archivo → Guardar como → Libro de Excel habilitado para macros (*.xlsm)
Cierra el editor VBA y guarda el fichero en formato .xlsm. Si lo guardas como .xlsx el código se eliminará y el resaltado dejará de funcionar. A partir de ahora, cada vez que abras el fichero Excel te preguntará si quieres habilitar las macros: acepta siempre para que el código funcione correctamente.

Resumen del proceso en 4 acciones clave

1
Aplica el formato condicional con =FILA()=CELDA("fila")
Selecciona el rango de tu tabla, abre formato condicional, elige Nueva regla → Usar fórmula y pega la fórmula. Elige el color de resaltado que prefieras.

2
Abre el editor VBA desde la pestaña de hoja
Clic derecho sobre la pestaña → Ver código. Se abre el editor directamente en el módulo correcto sin necesidad de navegar.

3
Selecciona Worksheet → SelectionChange y pega Target.Calculate
Excel crea la estructura del evento automáticamente. Solo tienes que escribir o pegar la línea Target.Calculate dentro de ella.

4
Guarda el fichero como .xlsm y prueba el resultado
Guarda en formato habilitado para macros, habilita las macros al abrir y comprueba cómo la fila activa se resalta al moverte por la tabla.

Aprende más trucos avanzados de Excel

▶ YouTube
▶️
Resaltar fila activa en Excel con formato condicional y VBA
planillasexcel.es en YouTube

♪ TikTok
🎵
Una línea de VBA que cambia cómo navegas por Excel
@planillasexcel en TikTok

📸 Instagram
📊
Trucos de Excel que no ves en ningún curso básico
@planillasexcel en Instagram

Preguntas frecuentes

¿Por qué el formato condicional con CELDA("fila") no funciona sin el código VBA?
Porque Excel solo recalcula la función CELDA cuando se produce un evento de cálculo real en la hoja, como introducir o modificar un valor. Al cambiar de celda sin editar nada, no hay recálculo y CELDA("fila") sigue devolviendo el número de la última fila donde se recalculó. El código VBA soluciona esto forzando el recálculo en cada movimiento del cursor mediante Target.Calculate.

¿El código VBA ralentiza Excel al navegar por la tabla?
En tablas de tamaño normal, entre decenas y varios cientos de filas, no notarás ninguna ralentización. Target.Calculate solo recalcula la celda activa, no toda la hoja. Si trabajas con tablas muy grandes, de miles de filas con muchas fórmulas, podría haber una pequeña pausa perceptible, pero en la inmensa mayoría de casos el comportamiento es fluido e instantáneo.

¿Qué pasa si comparto el fichero con alguien que no habilita las macros?
Si el destinatario abre el fichero .xlsm pero no habilita las macros cuando Excel se lo pregunta, el código VBA no se ejecutará y el resaltado de fila no funcionará. Datos y formato condicional seguirán siendo visibles y utilizables sin ningún problema. Solo se perderá el comportamiento dinámico del resaltado mientras las macros estén deshabilitadas.

Más dudas frecuentes

¿Puedo cambiar el color del resaltado de fila?
Sí, en cualquier momento. El color lo controla la regla de formato condicional, no el código VBA. Ve a Inicio → Formato condicional → Administrar reglas, selecciona la regla con la fórmula =FILA()=CELDA("fila") y haz clic en Formato para cambiar el color de relleno al que prefieras. El cambio se aplica al instante sin tocar el código.

¿Puedo aplicar este mismo método en varias hojas del mismo libro?
Sí, pero el código VBA hay que añadirlo en el módulo de cada hoja por separado. El evento Worksheet_SelectionChange es específico de cada hoja: el código que pones en la Hoja1 solo se ejecuta cuando trabajas en la Hoja1. Si quieres el mismo comportamiento en la Hoja2, repite el proceso de clic derecho sobre su pestaña, Ver código y pega Target.Calculate en su propio evento SelectionChange.

⭐ Guía Gratuita

Descarga la guía y nunca más pierdas la fila activa en Excel

Una fórmula, una línea de VBA y tu tabla queda profesional. Sigue los 6 pasos y tenlo listo en minutos.

⬇️ Descargar guía gratis
Automatiza tu negocio — isaacroma.com

📥 Recibe tu plantilla gratis

Te enviamos la plantilla directamente a tu email.

¡Enviado!

Revisa tu bandeja de entrada.

🎁

Antes de irte…

Llévate un 15% de descuento en tu primera compra.
Te lo enviamos al email.

Sin compra mínima · Un solo uso por cliente · Puedes darte de baja cuando quieras.