Acredito que isso seja possível apenas com o VBA.
Eu também presumo que você não precisa verificar se o autofiltro está aplicado no intervalo correto (veja Leitura adicional), e que você não precisa verificar se o AUTOFILTER está ativo ou não (ou seja, sem setas, sem autofiltro).
Aqui está uma função definida pelo usuário que verifica se há algum filtro ativo em uma planilha e, se houver algum, exibe quais colunas foram filtradas. Tenho certeza de que há melhores funções lá fora; você pode precisar modificá-lo para atender às suas necessidades.
Function CheckFilters(r As Range) As String
Set AWS = ActiveSheet
fstate = ""
If AWS.FilterMode Then
c = AWS.AutoFilter.Filters.Count
'go through each column and check for filters
For i = 1 To c Step 1
If AWS.AutoFilter.Filters(i).On Then
fstate = fstate & r(i).Value & ", "
End If
Next i
'removes the last comma
fstate = Left(fstate, Len(fstate) - 2)
Else
fstate = "NO ACTIVE FILTERS"
End If
CheckFilters = fstate
End Function
Para usá-lo, digite o ff. fórmula em uma célula vazia:
=CheckFilters(A3:E3)&LEFT(SUBTOTAL(9,A3:A48),0)
Em que A3:E3
contém os rótulos das colunas dos seus dados (veja o exemplo abaixo)
A parte &LEFT(SUBTOTAL(9,A3:A48),0)
da fórmula não tem nenhum propósito visível além de forçar a célula a reavaliar "automaticamente" à medida que você altera os filtros. (Crédito para Sean Cheshire por sugerir isso). Observe que isso é melhor do que a solução descrita aqui porque ele recalcula somente quando o intervalo que você tem definido nas alterações dos seus parâmetros.
EXEMPLOS
Com filtros:
OAutoFiltroestáAtivado,masNenhumaColunafoiFiltrada:
Usado com formatação condicional:
LEITURAADICIONAL
O objeto AutoFilter (referência de linguagem VBA do Excel 2003)