Ir ao conteúdo
  • Cadastre-se

Filtro VBA


Ir à solução Resolvido por Visitante,

Posts recomendados

Amigos, preciso de uma ajuda...tenho uma planilha com várias colunas e ao abri-la, preciso que o código no vba me indique qual é a coluna que está filtrada. Sabem como posso fazer? Já tentei o método filter, porém ele só trabalha com sheet e não com range ou column. 

 

Por exemplo: tenho uma planilha que está filtrada na coluna "BC", e ao rodar a macro, quero que ela me informe qual a coluna que está filtrada.

 

sub Filtro ()

 

set w = activesheet

 

if w.filter=true then  'neste ponto, preciso verificar se tem um filtro em uma coluna especifica, a BC por exemplo.

 

'faça uma rotina

 

end if 

 

End sub

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Solução

Este código retorna o número da coluna filtrada, que corresponde à enésima posição daquela coluna no intervalo filtrado e retorna o critério do filtro.

Sub ColunaFiltrada() Dim AF As AutoFilter, colF As String, i As Long  If ActiveSheet.AutoFilterMode = True Then   Set AF = ActiveSheet.AutoFilter    For i = 1 To AF.Filters.Count     If AF.Filters(i).On Then      colF = AF.Range.Offset(1, 0).SpecialCells(xlCellTypeVisible).Cells(1, i).Value       MsgBox i & " é a coluna filtrada, critério " & colF      Exit For     End If    Next i  End IfEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!