Skip to main content

¿Cómo griseado celdas basadas en otra columna u opción de lista desplegable en Excel?

Author: Sun Last Modified: 2025-08-06

En tareas prácticas de Excel, a menudo surgen escenarios donde necesitas que los datos destaquen visualmente o sean menos prominentes dependiendo del valor de una celda relacionada. Un requisito común es "grisear" (oscurecer o desactivar visualmente) automáticamente ciertas celdas cuando otra columna contiene un valor específico o cuando se realiza una selección desde una lista desplegable.
Este tipo de formato dinámico hace que grandes conjuntos de datos sean más fáciles de interpretar, ayuda en el flujo de trabajo donde la entrada necesita ser restringida, o clarifica qué elementos no son actualmente accionables. Por ejemplo, una columna de estado del proyecto podría activar el grisado de la descripción de una tarea si el estado es "Completado".
Este artículo presenta varias formas efectivas de griseado de celdas basadas en los valores de otra columna u opción de lista desplegable en Excel, cubriendo tanto el formato condicional estándar como enfoques más avanzados con VBA para requisitos complejos. También encontrarás sugerencias de solución de problemas y consejos prácticos de uso.
grey out cells based on another column

Griseado de celdas basado en otra columna u opción de lista desplegable

VBA: Automatiza el griseado de celdas basado en otra columna o lista desplegable


arrow blue right bubble Griseado de celdas basado en otra columna u opción de lista desplegable

Supongamos que tienes dos columnas: la columna A contiene tus datos principales (como tareas o descripciones), y la columna B contiene indicadores o estados (como "SÍ"/"NO", o selecciones de una lista desplegable). Es posible que quieras griseado visual de los elementos en la columna A basado en los valores en la columna B. Por ejemplo, cuando una celda en la columna B muestra "SÍ", la celda correspondiente en la columna A aparecerá grisada, marcándola como inactiva o completada. Si la columna B es cualquier cosa diferente a "SÍ", la columna A mantiene su apariencia normal.

Este enfoque es adecuado para hojas de gestión de tareas, listas de verificación, flujos de trabajo, u otras hojas donde el estado en una columna controla el formato en otra. Mantén tus datos organizados y fáciles de usar, pero depende de columnas bien estructuradas y alineadas (asegúrate de que las filas coincidan correctamente).

1. Selecciona las celdas en la columna A que deseas griseado automáticamente basado en la otra columna. Por ejemplo, selecciona A2:A100 (solo selecciona celdas que coincidan con el rango utilizado en la columna B). Luego ve a Inicio > Formato Condicional > Nueva Regla.
click Home > Conditional Formatting > New Rule

2. En el cuadro de diálogo Nueva Regla de Formato, haz clic en Usar una fórmula para determinar qué celdas formatear. Ingresa esta fórmula =B2="SÍ" en el cuadro etiquetado Formatear valores donde esta fórmula sea verdadera, que verifica si el valor en la celda correspondiente de la columna B es "SÍ":

3. Luego, haz clic en el botón Formato En el cuadro de diálogo Formato de Celdas elige un color gris encontrado en la pestaña Relleno Esta será el color de fondo usado para el grisado.
specify options in the New Formatting Rule dialog

4. Después de establecer el color, haz clic Aceptar para cerrar la ventana Formato de Celdas, y luego haz clic Aceptar de nuevo para aplicar tu nueva regla de formato.
the cells have been greyed out based on another column values

Desde ahora, cada vez que la columna B muestre "SÍ", la celda correspondiente en la columna A aparecerá grisada. Si la columna B cambia a otro valor (como "NO" o en blanco), la apariencia de la columna A volverá a la normalidad. Este método es instantáneo y no necesita ninguna actualización manual después de la configuración.

Consejos: Para aplicarlo con una lista desplegable en la columna B, el proceso es similar. Este enfoque es especialmente útil cuando la columna de control utiliza opciones estandarizadas, como el estado del proyecto ("En Progreso", "Completo"), casillas de verificación ("Hecho", "Pendiente"), o listas de validación con valores permitidos específicos.

Para crear una lista desplegable en la columna B (la columna de control):

  1. Selecciona las celdas en la columna B donde deseas tener un menú desplegable.
  2. Haz clic en Datos > Validación de Datos.
  3. En el cuadro de diálogo Validación de Datos, elige Lista desde el menú desplegable Permitir En el cuadro Fuente escribe o selecciona un rango de celdas que contenga los valores permitidos (por ejemplo, SÍ,NO).
    create a drop down list in the Data Validation dialog

Ahora, tienes una lista desplegable en cada celda de la columna B, permitiendo a los usuarios elegir entre opciones predefinidas:
the drop down list has been created

Repite la configuración del Formato Condicional como arriba, usando una fórmula que concuerde con el elemento que deseas activar el grisado (por ejemplo, =B2="SÍ"Después de aplicar el formato condicional, tus celdas objetivo en la columna A se grisean automáticamente siempre que se seleccione "SÍ" en la lista desplegable de la columna B.
repeat the steps to get the result

Consejos y precauciones adicionales:
- Asegúrate de que el rango de formato condicional en la columna A coincida con el área de datos y esté alineado con las referencias de la columna B. Si pierden sincronización, el formato puede no aplicarse como se espera.
- Al copiar o llenar datos en columnas, verifica que las referencias (por ejemplo, B2) se actualicen apropiadamente.
- Para mejores resultados, limpia cualquier formato antiguo de tus rangos antes de aplicar nuevas reglas.
- Para eliminar el efecto de grisado, cambia el valor del disparador en la columna B o elimina la regla de formato condicional.
- Si tu hoja de cálculo es compartida, asegúrate de que los usuarios sepan qué valores activarán el formato.

Si el formato condicional no funciona como se espera, verifica que las celdas en la columna B contienen exactamente los valores que la fórmula está probando (sin espacios adicionales, caso correcto si no se usa coincidencia exacta, y validación contra caracteres ocultos).

a screenshot of kutools for excel ai

Descubre la Magia de Excel con Kutools AI

  • Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
  • Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
  • Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
  • Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
  • Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Potencia tus capacidades de Excel con herramientas impulsadas por IA. ¡Descarga Ahora y experimenta una eficiencia como nunca antes!

arrow blue right bubble VBA: Automatiza el griseado de celdas basado en otra columna o lista desplegable

Para escenarios más avanzados, como aplicar el formato por lotes, manejar múltiples condiciones más complejas, o cuando las reglas y límites del formato condicional no cumplen con tus requisitos, puedes usar código VBA para automatizar el griseado de celdas.

Casos comunes de uso:
- Griseado automático de filas enteras o rangos específicos basado en selecciones de listas desplegables o cualquier lógica vinculada a otra columna.
- Garantizar que el formato permanezca consistente incluso después de importaciones de datos o actualizaciones de hojas impulsadas por macros.
- Aplicar múltiples estados condicionales que excedan los límites del formato condicional incorporado.

1. Haz clic en Herramientas de Desarrollo > Visual Basic para abrir el editor de VBA (Alt+F11 es un atajo). En la ventana VBA, haz clic en Insertar > Módulo. En el nuevo módulo, copia y pega 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, presiona F5 con la ventana de código activa. La macro recorre cada fila en tu hoja de trabajo—comenzando en la fila 2 (para que la primera fila pueda permanecer como encabezado)—y comprueba la columna B para el valor del disparador (por defecto, "SÍ"). Si lo encuentra, rellena la celda correspondiente en la columna A con gris. Si el valor del disparador está ausente, cualquier relleno gris anterior se elimina (restableciendo la celda a su apariencia predeterminada).

Puedes personalizar los siguientes parámetros en el código:

  • checkCol: Columna a verificar (por ejemplo, "B")
  • dataCol: Columna a griseado (por ejemplo, "A")
  • triggerValue: Valor a coincidir para el relleno gris (por ejemplo, "SÍ", "Completo", cualquier valor en tu lista)

Precauciones y consejos:

  • Esta macro cambia permanentemente el fondo de las celdas. Si quieres que los colores se actualicen en vivo mientras cambias datos, considera volver a ejecutar la macro después de cualquier actualización o usa scripting de evento Worksheet_Change (solo usuarios avanzados).
  • El enfoque no se ve afectado por el número de celdas o límites de reglas de formato condicional, por lo que es ideal para rangos dinámicos grandes o muchas condiciones.
  • Si accidentalmente activas la macro y quieres eliminar los rellenos grises, simplemente ejecútala de nuevo después de limpiar o cambiar los valores relevantes.
  • Puedes extender la declaración If para agregar más condiciones (por ejemplo, griseado basado en múltiples opciones, columnas adicionales, o lógica más compleja).

Usar VBA para griseado manual o automático de celdas ofrece máxima flexibilidad para soluciones de Excel complejas, a gran escala o altamente personalizadas.

Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado en: Ejecución inteligente |Generar código |Crear fórmulas personalizadas |Analizar datos y generar gráficos |Invocar funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!