Olá, Fernando. Como vai?
Não se preocupe, o código gerado pelo gravador de macros do Excel pode variar um pouco dependendo dos cliques exatos que damos na tela, mas a estrutura principal do seu código está no caminho certo.
O gravador gerou algumas linhas redundantes e um pequeno erro de sintaxe que fará com que a macro apresente um erro de compilação se você tentar executá-la agora. Vamos entender o que aconteceu e como corrigir o seu código para que ele funcione perfeitamente.
O erro de sintaxe
Logo abaixo da linha Sub filtro_avançado(), o Excel inseriu a frase filtro_avançado Macro. O gravador faz isso para colocar um comentário indicando o nome da macro, mas ele esqueceu de adicionar a apóstrofe (') no início da linha. Sem a apóstrofe, o Excel tenta ler isso como um comando e não entende.
Limpando as repetições
As linhas Application.CutCopyMode = False aparecem duplicadas. Elas servem apenas para limpar a área de transferência (aquela bordinha pontilhada de "copiar"), e apenas uma linha delas é necessária.
O Código Corrigido e Otimizado
Para que a sua macro funcione exatamente como a do vídeo e sem erros, abra o seu editor do VBA (pressione Alt + F11), apague o bloco atual e substitua por este código limpo abaixo:
Sub filtro_avançado()
' Filtro avançado automatizado
Application.CutCopyMode = False
Sheets("Produtos").Range("TB_Produtos[#All]").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Range("Planilha1!Criteria"), CopyToRange:= _
Range("Planilha1!Extract"), Unique:=False
End Sub
O que cada parte do comando principal faz:
Sheets("Produtos").Range("TB_Produtos[#All]"): É a sua base de dados original (a tabela de produtos incluindo os cabeçalhos).Action:=xlFilterCopy: Diz ao Excel que você quer copiar o resultado do filtro para outro lugar, em vez de filtrar a tabela no mesmo local.CriteriaRange:=Range("Planilha1!Criteria"): É o intervalo onde estão os seus critérios de busca (os filtros que você digita).CopyToRange:=Range("Planilha1!Extract"): É o local de destino onde o Excel vai descarregar os dados filtrados.
Dica extra: Depois de colar o código corrigido, volte para a planilha do Excel e certifique-se de que o botão ou forma que você criou para disparar o filtro esteja associado a essa macro filtro_avançado. Para fazer isso, clique com o botão direito no botão, vá em Atribuir macro, selecione o nome dela e clique em OK.
Espero que possa ter lhe ajudado!