- 07 Ago 2017 às 15:39
#25333
Boa tarde,
Estou procurando aprender de VBA de forma auto-didata, e tento utilizar a gravação de macros, para me auxiliar na sintaxe e ir incluindo variáveis, algumas linhas de código para chegar no resultado que espero!
Criei uma macro (Através de gravação!), para utilizar a função do filtro avançado e ela funcionou corretamente na primeira vez que é executada! Porém, quando tento utilizar da segunda vez em diante, o filtro não obedece os novos dados que coloco nos filtros.
Acredito que o VBA, guarda alguma coisa na memória! Eu tentei pesquisar algum comando para limpar isso de alguma forma e não consegui!
Segue a linha de código:
Sub Filtrar_DE()
' Filtrar_DE Macro
' Filtrar_DE
Range("Consolidado_new!_FilterDatabase").AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("DE!Criteria"), CopyToRange:=Range("A5"), Unique:=False
End Sub
Já tentei colocar no Criteriarange o Range ("A1:B3", porém, não funciona também!
Se vocês puderem me ajudar, agradeço!!!!
Att.
Éverton Silva
Estou procurando aprender de VBA de forma auto-didata, e tento utilizar a gravação de macros, para me auxiliar na sintaxe e ir incluindo variáveis, algumas linhas de código para chegar no resultado que espero!
Criei uma macro (Através de gravação!), para utilizar a função do filtro avançado e ela funcionou corretamente na primeira vez que é executada! Porém, quando tento utilizar da segunda vez em diante, o filtro não obedece os novos dados que coloco nos filtros.
Acredito que o VBA, guarda alguma coisa na memória! Eu tentei pesquisar algum comando para limpar isso de alguma forma e não consegui!
Segue a linha de código:
Sub Filtrar_DE()
' Filtrar_DE Macro
' Filtrar_DE
Range("Consolidado_new!_FilterDatabase").AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("DE!Criteria"), CopyToRange:=Range("A5"), Unique:=False
End Sub
Já tentei colocar no Criteriarange o Range ("A1:B3", porém, não funciona também!
Se vocês puderem me ajudar, agradeço!!!!
Att.
Éverton Silva