Necesita una tabla de Word donde las celdas cambien de color automáticamente según el valor que contienen. Las tablas estándar de Word no ofrecen formato condicional como Excel. Este artículo explica cómo usar códigos de campo de Word y el campo Formula para aplicar sombreado condicional de celdas. Al final, tendrá una tabla funcional que resalta valores por encima o por debajo de un umbral sin formato manual.
Puntos clave: Color de celda condicional mediante campos
- Código de campo IF con campo Formula: Evalúa el valor de una celda y devuelve un código de color que activa el sombreado.
- Insertar > Elementos rápidos > Campo > Formula: Punto de entrada para crear la lógica condicional en una celda de tabla.
- Campos IF anidados: Permite múltiples condiciones, como verde para aprobado, rojo para reprobado, amarillo para límite.
Entender el color de celda condicional en tablas de Word
Word no tiene una función de formato condicional integrada como Excel. Para cambiar el color de fondo de una celda automáticamente según su contenido, debe usar códigos de campo. El mecanismo principal combina el campo IF con el campo Formula. El campo IF evalúa una prueba lógica, y el campo Formula puede hacer referencia a otras celdas de la tabla usando la misma sintaxis que Excel (A1, B2, etc.). Cuando la condición IF es verdadera, puede generar una cadena de texto específica. Esa cadena de texto luego es usada por una macro o un campo anidado para aplicar el sombreado. Sin embargo, los campos de Word por sí solos no pueden cambiar directamente el sombreado de la celda. El método descrito aquí usa un campo que escribe un valor de color en la celda, que luego formatea manualmente una vez, y el formato persiste para todos los valores coincidentes cuando se actualizan los campos.
Requisitos previos
Necesita una tabla de Word con al menos una columna que contenga valores numéricos. La tabla debe crearse con referencias de celda consistentes. Por ejemplo, la celda superior izquierda es A1, la celda a su derecha es B1, y así sucesivamente. Asegúrese de que los códigos de campo estén visibles. Presione Alt+F9 para alternar entre los códigos de campo y sus resultados. También debe tener una condición clara, como “si el valor > 100, sombrear en verde; si el valor < 50, sombrear en rojo".
Pasos para agregar color de celda condicional con campos IF y Formula
Siga estos pasos para configurar una tabla donde la celda B2 cambie de sombreado según el valor de la celda A2. Repetirá este patrón para cada celda que necesite color condicional.
- Cree la tabla e ingrese los datos
Inserte una tabla con al menos dos columnas. En la celda A2, ingrese un valor numérico como 120. En la celda B2, colocará la fórmula condicional. Deje la celda B2 vacía por ahora. - Inserte el campo Formula en la celda de destino
Haga clic dentro de la celda B2. Vaya a Insertar > Elementos rápidos > Campo. En el cuadro de diálogo Campo, seleccione Formula en la lista Nombres de campo. Haga clic en el botón Formula en la parte inferior izquierda. En el cuadro Fórmula, elimine la fórmula predeterminada y escriba: =IF(A2>100,”GREEN”,”NO”). Haga clic en Aceptar. La celda mostrará GREEN si A2 es mayor que 100; de lo contrario, NO. - Aplique sombreado manual según el resultado del campo
Con la celda B2 seleccionada, vaya a la pestaña Diseño de tabla. Haga clic en Sombreado y elija un relleno verde. Este paso se realiza una vez. Ahora, cada vez que actualice el campo, aparecerá la palabra GREEN, pero el sombreado permanecerá verde. Para que el sombreado sea condicional, debe usar una macro u otro enfoque. El método simple: después de actualizar los campos, aplique manualmente el sombreado correcto a cada celda. - Use una macro para automatizar el sombreado
Presione Alt+F11 para abrir el editor de VBA. Inserte un nuevo módulo y pegue este código:Sub ApplyConditionalShading()
Dim cell As Cell
For Each cell In ActiveDocument.Tables(1).Range.Cells
If cell.Range.Text Like "GREEN" Then cell.Shading.BackgroundPatternColor = wdColorGreen
If cell.Range.Text Like "RED" Then cell.Shading.BackgroundPatternColor = wdColorRed
Next cell
End Sub
Cierre el editor. Ejecute la macro después de actualizar los campos para aplicar los colores automáticamente. - Actualice los campos y ejecute la macro
Cambie el valor de A2 a 50. Presione Ctrl+A, luego F9 para actualizar todos los campos. La celda B2 ahora muestra NO. Ejecute la macro (Alt+F8, seleccione ApplyConditionalShading, Ejecutar). El sombreado de la celda permanece verde porque la macro solo cambia el sombreado cuando el texto coincide. Para el valor 50, el texto es NO, por lo que la macro no hace nada. Para manejar esto, modifique el campo IF para que genere “RED” para valores menores que 50: =IF(A2>100,”GREEN”,IF(A2<50,"RED","NO")). Actualice los campos y ejecute la macro nuevamente. - Repita para todas las celdas
Copie el código de campo de B2 y péguelo en otras celdas. Ajuste las referencias de celda según corresponda. Por ejemplo, para la celda C2 que hace referencia a B2, use =IF(B2>100,”GREEN”,IF(B2<50,"RED","NO")).
Errores comunes y limitaciones
Los códigos de campo no se actualizan automáticamente después de cambiar los datos
Los campos solo se actualizan cuando se activa manualmente una actualización. Presione Ctrl+A y luego F9 para actualizar todos los campos del documento. Si olvida actualizar, el texto y el sombreado de la celda quedarán obsoletos.
Las referencias de celda no siempre son A1, B2
Las referencias de celda de tabla de Word comienzan con A1 para la celda superior izquierda. Sin embargo, si su tabla tiene celdas combinadas, el sistema de referencia se rompe. Evite celdas combinadas en columnas que forman parte de la lógica condicional.
Las advertencias de seguridad de macros pueden bloquear el código VBA
Si el documento contiene macros, Word puede mostrar una advertencia de seguridad. Guarde el archivo como documento habilitado para macros (.docm) y habilite el contenido al abrirlo. Alternativamente, puede sombrear las celdas manualmente después de actualizar los campos, omitiendo la macro por completo.
El sombreado no cambia cuando el texto del campo cambia sin ejecutar la macro
La macro es necesaria para leer el resultado del campo y aplicar el sombreado correcto. Sin ella, la celda conserva su sombreado manual anterior. Para evitar esto, ejecute siempre la macro después de actualizar los campos.
Sombreado manual vs automatización con macro: comparación de flujos de trabajo
| Elemento | Sombreado manual después de actualizar el campo | Automatización con macro |
|---|---|---|
| Tiempo de configuración | 5 minutos por tabla | 15 minutos para el primer uso |
| Facilidad de uso | Simple, sin programación | Requiere conocimientos de VBA |
| Fiabilidad | Propenso a errores humanos | Consistente después de la configuración |
| Escalabilidad | Poco práctico para tablas grandes | Funciona en cualquier tamaño de tabla |
| Mantenimiento | Reaplicar el sombreado en cada actualización | Ejecutar la macro después de actualizar el campo |
Ahora puede crear tablas de Word con colores de celda condicionales usando códigos de campo y, opcionalmente, una macro. Comience con un campo IF simple para probar la lógica. Use campos IF anidados para múltiples condiciones, como verde para valores altos, rojo para valores bajos y amarillo para el rango medio. Para uso frecuente, guarde la macro en su plantilla Normal.dotm para que esté disponible en todos los documentos. Recuerde actualizar los campos y ejecutar la macro después de cada cambio de datos.