Contar celdas sombreadas (Microsoft Excel)
Excel le permite aplicar todo tipo de formato a las celdas de su libro. Una de las cosas que puede hacer es «sombrear» las celdas usando un patrón o color. (Haga esto en la pestaña Patrones del cuadro de diálogo Formato de celdas). En algún momento, es posible que desee saber cuántas celdas de un rango están sombreadas.
No existe una fórmula de hoja de cálculo en Excel que le permita contar las celdas sombreadas. En su lugar, debe desarrollar su propia macro para hacer esto. La siguiente macro es un ejemplo de una forma de abordar este problema. Cuenta el número de celdas sombreadas en el rango de A1 a J20 y coloca el recuento en la celda A1.
Sub CountColor() Dim irow, icol As Integer Cells(1, 1) = 0 For irow = 1 To 20 For icol = 1 To 10 If Cells(irow, icol).Interior.ColorIndex _ <> xlColorIndexNone Then Cells(1, 1) = Cells(1, 1) + 1 End If Next icol Next irow End Sub
Observe que el corazón de la rutina es la comparación que se realiza entre el ColorIndex de cada celda y la constante xlColorIndexNone predefinida. Si no son iguales, entonces la celda se ha sombreado de alguna manera.
Esta misma técnica básica se puede adaptar fácilmente a una función personalizada.
Observe a continuación que la misma comparación se realiza celda por celda:
Function FindShades(a As Range) As Integer FindShades = 0 For Each c In a If c.Interior.ColorIndex <> xlColorIndexNone Then FindShades = FindShades + 1 End If Next c End Function
Para usar esta función, simplemente úsela en una celda, como fórmula, y especifique un rango en la fórmula:
= FindShades(B7:E52)
_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 (2059) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.