Jim quiere una forma de saber rápidamente qué criterios de filtrado se han aplicado en un autofiltro. Tiene dificultades para decir incluso qué columnas tienen aplicado el filtrado (el ligero cambio en el color de la flecha desplegable de negro a azul es apenas perceptible), por lo que algún otro método para saber dónde se aplica un filtro sería bueno.

La falta de contraste entre las flechas desplegables negras y azules en una columna filtrada no es una queja infrecuente. De hecho, este mismo problema se abordó en un número diferente de ExcelTips. (Puede buscar en el sitio web ExcelTips la frase «colores de flechas desplegables» para obtener un consejo útil al respecto).

Si realmente desea saber qué criterios se están aplicando a una columna, entonces estará interesado en una pequeña macro que colocará los criterios en otra celda:

Function DispCriteria(Rng As Range) As String     Dim Filter As String

Filter = ""

On Error GoTo Done     With Rng.Parent.AutoFilter         If Intersect(Rng, .Range) Is Nothing Then GoTo Done         With .Filters(Rng.Column - .Range.Column + 1)

If Not .On Then GoTo Done             Filter = .Criteria1             Select Case .Operator                 Case xlAnd                     Filter = Filter & " AND " & .Criteria2                 Case xlOr                     Filter = Filter & " OR " & .Criteria2             End Select         End With     End With Done:

DispCriteria = Filter End Function

En realidad, esta es una función definida por el usuario que puede usar en su hoja de trabajo. Por ejemplo, si desea conocer los criterios de filtrado que se aplicaron a la columna C, puede utilizar lo siguiente en una celda:

=DispCriteria(C:C)

Si lo prefiere, simplemente puede hacer referencia a la celda del encabezado de la columna que se filtra. Por ejemplo, si el encabezado (al que Autofiltro agrega la flecha desplegable) es la celda C3, puede usar lo siguiente:

=DispCriteria(C3)

Los criterios que muestra la función son los que realmente utiliza AutoFilter. Por ejemplo, si usa un criterio de filtrado que dice «Top 10», Excel lo traduce en el momento en que se aplica a algo como «> = 214.3281932» (el valor variará, según sus datos). Es el filtro de fórmulas que devuelve la función DispCriteria, no la redacción «Top 10».

La función se basa en una creada por el MVP de Microsoft Stephen Bullen.

La macro se ha publicado en varios lugares y puede encontrarla en el sitio web de John Walkenbach, aquí:

http://www.j-walk.com/ss/excel/usertips/tip044.htm

_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 (2891) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.