Gostaria de saber como posso usar uma variável como critério no VBA usando o AutoFilter. Por exemplo, uma variável chamada "dia", gostaria de inseri-la no campo "criteria1" do AutoFilter. Tentei de várias formas, mas quando executo o código, ao invés da variável receber o valor que atribuo a ela, por exemplo "25", ela fica com o próprio nome "dia" no campo de filtro.
A variavel não pode fazer parte da composição do código, pois nesse contexto o código entenderá como sendo um texto a ser interpretado, assim como todo restante.
Solução é quebrar o código em 3 partes e colocar a variavel no meio de forma concatenada.
Segue exemplo;
"Activecell.função(what:=" & varDia & " operation:=none, ..."
Repare que após a ASPAS na ultima parte contem um espaço em branco para não colidir com o conteudo da variavel
Isael,
Você pode usar conforme o código abaixo:
Sub FiltrarPorDia()
Dim ws As Worksheet
Dim dia As String
' Definir a variável "dia" com o valor desejado
dia = "Segunda-feira" ' Exemplo: dia da semana, pode ser qualquer valor
' Definir a planilha ativa
Set ws = ThisWorkbook.Sheets("Planilha1") ' Nome da planilha que deseja aplicar o filtro
' Aplicar o AutoFilter na coluna A (coluna 1)
w
s.Range("A1