¿Cómo atenuar celdas según los valores de otra columna o la selección en una lista desplegable en Excel?
En tareas prácticas con Excel, es habitual encontrarse con escenarios en los que necesitas resaltar visualmente ciertos datos o hacerlos menos prominentes según el valor de una celda relacionada. Un requisito muy común consiste en «atenuar» (es decir, oscurecer o desactivar visualmente) determinadas celdas de forma automática cuando otra columna contiene un valor específico o cuando se selecciona una opción en una lista desplegable.
Este formato dinámico facilita la interpretación de conjuntos de datos extensos, ayuda en flujos de trabajo donde debe restringirse la entrada de datos y aclara qué elementos no son actualmente accionables. Por ejemplo, el estado de un proyecto podría activar la atenuación de la descripción de una tarea si su estado es «Completado».
Este artículo presenta varios métodos eficaces para atenuar celdas en función de los valores de otra columna o de una elección en una lista desplegable en Excel, abarcando tanto los enfoques estándar mediante formato condicional como soluciones más avanzadas con VBA para requisitos complejos. Además, encontrarás sugerencias para resolver problemas y consejos prácticos a lo largo del texto.
Atenuar celdas en función de otra columna o de la elección en una lista desplegable
VBA: Automatice la atenuación de celdas en función de otra columna o de un Lista desplegable
Atenuar celdas en función de otra columna o de la elección en una lista desplegable
Imagine que tiene dos columnas: la columna A contiene sus datos principales (como tareas o descripciones) y la columna B incluye indicadores o estados (por ejemplo, «SÍ»/«NO» o selecciones de un menú desplegable). Puede atenuar visualmente los elementos de la columna A en función de los valores de la columna B. Así, cuando una celda de la columna B muestre «SÍ», la celda correspondiente de la columna A aparecerá atenuada, señalándola como inactiva o completada. Si la columna B contiene cualquier otro valor distinto de «SÍ», la columna A mantendrá su aspecto normal.
Este enfoque es ideal para hojas de gestión de tareas, listas de comprobación, flujos de trabajo o cualquier hoja en la que el estado de una columna determine el formato de otra. Mantiene sus datos organizados y facilita su uso, siempre que las columnas estén bien estructuradas y alineadas (asegúrese de que las filas coincidan correctamente).
1. Seleccione las celdas de la columna A que desea atenuar automáticamente en función de los valores de la otra columna. Por ejemplo, seleccione A2:A100 (asegúrese de que el rango coincida con el utilizado en la columna B). A continuación, vaya a Inicio > Formato condicional > Nueva regla.
2. En el cuadro de diálogo Nueva regla de formato, haga clic en Utilizar una fórmula para determinar qué celdas se deben dar formato. Introduzca la siguiente fórmula =B2=«SÍ» en el cuadro etiquetado como Dar formato a los valores para los que esta fórmula es verdadera, que comprueba si el valor de la celda correspondiente de la columna B es «SÍ»:
3. A continuación, haga clic en el botón Formato. En el cuadro de diálogo Establecer formato de celda, seleccione un color gris en la pestaña Relleno. Este será el color de fondo que se utilizará para atenuar.
4. Tras establecer el color, haga clic en Aceptar para cerrar la ventana de Establecer formato de celda y, a continuación, vuelva a hacer clic en Aceptar para aplicar la nueva regla de formato.
A partir de ahora, siempre que la columna B muestre «SÍ», la celda correspondiente de la columna A aparecerá atenuada. Si la columna B cambia a otro valor (como «NO» o queda vacía), el aspecto de la columna A volverá a la normalidad. Este método es instantáneo y no requiere ninguna actualización manual una vez configurado.
Consejo: Para aplicar esto con una lista desplegable en la columna B, el proceso es similar. Este enfoque resulta especialmente útil cuando la columna de control utiliza opciones estandarizadas, como el estado del proyecto («En curso», «Completado»), casillas de verificación («Hecho», «Pendiente») o listas de validación con valores específicos permitidos.
Para crear un Lista desplegable en la columna B (la columna de control):
- Seleccione las celdas de la columna B en las que desee incluir un menú desplegable.
- Haga clic en Datos > Validación de datos.
- En el cuadro de diálogo Validación de datos, seleccione Lista en el menú desplegable Permitir. En el cuadro Origen, escriba o seleccione un rango de celdas que contenga los valores permitidos (por ejemplo,)SÍ, NO).

Ahora dispone de un Lista desplegable en cada celda de la columna B, lo que permite a los usuarios elegir entre opciones predefinidas:
Repita la configuración de Usar formato condicionaltal como se indicó anteriormente, utilizando una fórmula que coincida con el elemento que debe activar el formato gris (por ejemplo,)=B2=«SÍ»). Tras aplicar Usar formato condicional, las celdas objetivo de la columna A se atenuarán automáticamente siempre que se seleccione «SÍ» en el menú desplegable de la columna B.
Consejos y precauciones adicionales:
- Asegúrese de que el rango al que se aplica el formato condicional en la columna A coincida con el área de datos y esté alineado con las referencias de la columna B. Si dejan de estar sincronizados, es posible que el formato no se aplique como se espera.
- Al copiar o rellenar datos en las columnas, verifique que las referencias (por ejemplo, B2) se actualicen correctamente.
- Para obtener los mejores resultados, elimine cualquier formato previo de sus rangos antes de aplicar nuevas reglas.
- Para eliminar el efecto de atenuación, cambie el valor desencadenante en la columna B o quite la regla de formato condicional.
- Si la hoja de cálculo se comparte, asegúrese de que los usuarios conozcan qué valores activarán el formato.
Si el formato condicional no funciona como se espera, compruebe que las celdas de la columna B contengan exactamente los valores que la fórmula está evaluando: sin espacios adicionales, con mayúsculas y minúsculas correctas (si no se utiliza coincidencia insensible a mayúsculas/minúsculas) y validadas frente a caracteres ocultos.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
VBA: Automatice la atenuación de celdas en función de otra columna o de un Lista desplegable
Para escenarios más avanzados, como aplicar el formato masivamente, gestionar múltiples condiciones más complejas o cuando las reglas y límites de Usar formato condicional no satisfagan sus necesidades, puede utilizar código VBA para automatizar la atenuación de celdas.
Casos de uso habituales:
- Atenuar automáticamente filas completas o rangos específicos en función de las selecciones en menús desplegables o de cualquier lógica vinculada a otra columna.
- Garantizar un formato coherente, incluso tras importar datos o actualizar la hoja mediante macros.
- Aplicar múltiples estados condicionales que superen los límites de las funciones integradas de formato condicional.
1. Haga clic en Herramientas para desarrolladores > Visual Basicpara abrir el editor de VBA ()Alt+F11 es un acceso directo). En la ventana de VBA, haga clic en Insertar > Módulo. En el nuevo módulo, copie y pegue el siguiente código:
Sub GreyOutCellsBasedOnAnotherColumn()
Dim ws As Worksheet
Dim lastRow As Long
Dim checkCol As String
Dim dataCol As String
Dim i As Long
Dim triggerValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
'----- Set parameters here -----
Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
checkCol = "B" ' Column to check (e.g., B)
dataCol = "A" ' Column to grey out (e.g., A)
triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.
'----- Find last row in the check column -----
lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
For i = 2 To lastRow ' Assumes header in row 1
If ws.Cells(i, checkCol).Value = triggerValue Then
ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
Else
ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
End If
Next i
End Sub 2. Para ejecutar la macro, pulse F5 con la ventana de código activa. La macro recorre cada fila de la hoja de cálculo —comenzando en la fila 2 (para que la primera fila pueda mantenerse como encabezado)— y comprueba la columna B en busca del valor desencadenante (por defecto, «SÍ»). Si lo encuentra, rellena la celda correspondiente de la columna A con gris. Si el valor desencadenante no está presente, elimina cualquier relleno gris anterior, restableciendo la celda a su aspecto predeterminado.
Puede personalizar los siguientes parámetros en el código:
- checkCol: Columna que se debe comprobar (por ejemplo, «B»)
- dataCol: Columna que se debe atenuar (por ejemplo, «A»)
- triggerValue: Valor que debe coincidir para aplicar el relleno gris (por ejemplo, «SÍ», «Completado», unValor Y de su lista)
Precauciones y consejos:
- Esta macro modifica de forma permanente el fondo de las celdas. Si desea que los colores se actualicen en tiempo real al modificar los datos, considere volver a ejecutar la macro tras cada cambio o utilizar la programación del evento Worksheet_Change (solo para usuarios avanzados).
- Este enfoque no se ve afectado ni por el número de celdas ni por los límites de las reglas de formato condicional, lo que lo hace ideal para rangos dinámicos extensos o múltiples condiciones.
- Si ejecuta accidentalmente la macro y desea eliminar los rellenos grises, basta con volver a ejecutarla tras borrar o modificar los valores pertinentes.
- Puede ampliar la instrucción If para añadir más condiciones (por ejemplo, atenuar según múltiples opciones, columnas adicionales o lógica más compleja).
El uso de VBA para atenuar celdas de forma manual o automática ofrece la máxima flexibilidad para soluciones de Excel complejas, a gran escala o altamente personalizadas.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos
