Ir ao conteúdo
  • Cadastre-se
flaviorc

RESOLVIDO Filtro VBA

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×