Doug tiene una tabla de datos que incluye una columna de números de pieza. Estos datos están ordenados por la columna de números de pieza. Los números de pieza no son únicos; por ejemplo, algunos números de pieza aparecen tres veces en la tabla y otros cinco veces. A Doug le gustaría formatear la tabla para que las filas de la tabla tengan un efecto de «barra verde».

Por ejemplo, las primeras cinco filas pueden tener el mismo número de pieza, por lo que Doug quiere que esas filas estén sombreadas en verde. Las siguientes dos filas tienen un número de pieza diferente, por lo que quiere que no tengan sombreado verde. Las siguientes tres filas tienen el siguiente número de pieza, por lo que deberían volver a ser verdes, y así sucesivamente. Cada vez que cambia el número de pieza, el sombreado de la fila (verde o no verde) debe cambiar.

Una forma fácil de realizar esta tarea es crear una columna auxiliar que muestre un 0 o un 1 dependiendo del número de pieza en la columna A.

Por ejemplo, digamos que desea poner su columna auxiliar en la columna Z. Puede poner la siguiente fórmula en la celda Z2:

=IF(A2=A1,Z1,1-Z1)

Copie la fórmula en la columna Z para cada fila de su tabla de datos. Cuando termine, la columna Z contendrá 1 o 0, cambiando solo cuando cambie el número de pieza en la columna A. Luego puede usar el valor en la columna Z como un valor de control para su formato condicional. Todo lo que necesita hacer es establecer la fórmula en el formato de modo que si la columna Z contiene 1, entonces sus celdas son verdes.

Debe tener en cuenta que una vez que su formato condicional esté configurado y funcionando correctamente, puede ocultar la columna Z para que no sea una distracción para nadie que use su tabla de datos.

Si no puede usar una columna auxiliar por alguna razón, entonces hay una fórmula bastante interesante que puede usar en el formato condicional. Solo asegúrese de que su tabla de datos esté ordenada por la columna A (los números de pieza) y luego seleccione todas las celdas de la tabla, con la excepción de los encabezados de columna. Luego defina un formato condicional que use esta fórmula:

=MOD(SUMPRODUCT(--(($A$1:INDIRECT(ADDRESS(ROW()-1,1,3,1))

=$A$2:INDIRECT(ADDRESS(ROW(),1,3,1)))=FALSE)),2)

Recuerde que esta es una fórmula única, ingresada en la regla de formato condicional, todo en una línea. Esta fórmula supone que los números de pieza están en la columna A y que la tabla de datos comienza en la celda A2.

Además, si elimina alguna fila en la tabla de datos, querrá volver a aplicar el formato condicional a todas las celdas de la tabla de datos.

Finalmente, hay una serie de macros que puede escribir para aplicar el formato. Todo lo que necesita hacer es hacer que la macro recorra las celdas de la columna A, determine si el número de pieza cambia y luego aplique el formato correcto según lo que descubra. Aquí hay un ejemplo:

Sub ShadeRows()

Dim ThisOrder As Long     Dim PrvOrder As Long     Dim LastRow As Long     Dim Clr As Integer     Dim R As Long

LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

' Enter desired color codes here     ' (24 is Lavender, 35 is Light Green)

RwColor = Array(24, 35)



Clr = 0  ' Used to toggle between the two colors

For R = 2 To LastRow         ThisOrder = Cells(R, 1).Value         PrvOrder = Cells(R - 1, 1).Value         If ThisOrder <> PrvOrder Then Clr = 1 - Clr

' Select only the columns that are used         Range("A" & R & ":M" & R).Select         Selection.Interior.ColorIndex = RwColor(Clr)

Next R End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (10518) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Changing_Shading_when_a_Column_Value_Changes [Cambio de sombreado cuando cambia el valor de una columna].