Como copiar dados para outra folha utilizando o Filtro Avançado no Excel?
No Excel, a funcionalidade Filtro Avançado é uma ferramenta eficaz para extrair e filtrar dados de acordo com os seus critérios. É habitualmente utilizada dentro da mesma folha, mas poderá reparar que, ao tentar copiar diretamente os resultados filtrados para outra folha, o Excel apresenta uma caixa de diálogo de aviso. Este comportamento pode ser frustrante, especialmente para utilizadores que trabalham com dados distribuídos por múltiplas folhas, como em relatórios extensos ou painéis interativos. Conseguir transferir com precisão os dados filtrados para outra folha assegura uma apresentação limpa, simplifica a partilha e mantém os seus registos organizados.

Copie dados para outra folha com o Filtro Avançado utilizando a funcionalidade Filtro Avançado
Copie dados para outra folha com o Filtro Avançado utilizando código VBA
Copie dados para outra folha com o Filtro Avançado utilizando a funcionalidade Filtro Avançado
O Excel não permite utilizar o Filtro Avançado para copiar diretamente os resultados filtrados para uma folha diferente daquela onde os dados estão localizados. Contudo, é possível contornar essa limitação com uma solução prática: basta ativar previamente a folha de destino antes de aplicar o filtro. Os passos abaixo mostram-lhe como resolver este desafio de forma simples, sem configurações complexas nem ferramentas adicionais. Esta abordagem é perfeita para utilizadores que pretendem filtrar e mover dados manualmente em tarefas ocasionais ou transferências pontuais de listas. Se, por outro lado, precisar de automatizar operações frequentes de filtragem e cópia entre folhas, explore a opção de utilizar código VBA, detalhada mais adiante neste guia.
1. Comece por ativar a folha para a qual pretende que os resultados filtrados sejam copiados. Desta forma, o Excel envia automaticamente os dados filtrados para a folha selecionada ao aplicar o Filtro Avançado. Certifique-se de que essa folha não contém dados na área onde os resultados serão colados, para evitar sobrescritas indesejadas.

2. Com a folha de destino ativa, aceda ao Friso do Excel, clique em Dados, depois escolha Avançado no grupo Ordenar e Filtrar. Isto abre a caixa de diálogo Filtro Avançado, onde pode ajustar finamente o processo de filtragem. Verifique novamente se está na folha correta antes de continuar, pois é nela que os resultados filtrados irão aparecer.

3. Na caixa de diálogo Filtro Avançado:
- Selecione Copiar para outra localização em Ação.
- Clique
junto a Gama da lista para selecionar o conjunto de dados que pretende filtrar. Pode navegar até à folha de origem durante este passo. - Clique
junto à Gama de critérios para especificar os critérios de filtragem. Os critérios podem estar localizados em qualquer folha.

Dicas: A Gama da lista deve incluir cabeçalhos para que os critérios sejam corretamente correspondidos. A Gama de critérios também deve ter cabeçalhos coincidentes e conter a lógica de filtragem (por exemplo, valores, texto ou fórmulas). Para evitar erros, confirme que os critérios estão bem definidos e que as gamas não se sobrepõem.
4. Em seguida, clique
junto ao campo Copiar para. Selecione a célula na sua folha ativa onde pretende que os resultados filtrados comecem a aparecer. Depois de efetuar as suas seleções, clique em OK. O Excel transfere os dados filtrados da origem para a sua folha ativa atual.

Notas e resolução de problemas:
- Se os seus critérios não encontrarem correspondências, o Excel copiará apenas os cabeçalhos das colunas para a folha de destino.
- Ative sempre a folha de destino antes de aplicar o Filtro Avançado; caso contrário, o Excel exibirá um aviso e impedirá a cópia entre folhas.
- Se a Área de Colocação da Lista se sobrepor a dados existentes, estes poderão ser substituídos sem qualquer aviso adicional.
- Com conjuntos de dados grandes, a filtragem e a cópia podem demorar vários segundos. Aguarde que o Excel termine o processamento antes de fazer mais edições.
- Se surgirem mensagens de erro, verifique as suas gamas Lista e Critérios quanto a linhas em branco, cabeçalhos não coincidentes ou células mescladas, que podem interferir na filtragem.
Este método manual funciona melhor para tarefas ocasionais ou simples e fornece feedback imediato caso algo corra mal. Para fluxos de trabalho mais complexos ou tarefas repetidas, automatizar com VBA irá Economizar Tempo e reduzir erros, como demonstrado abaixo.
Copie dados para outra folha com o Filtro Avançado utilizando código VBA
Para utilizadores que trabalham frequentemente com filtragem entre folhas ou que precisam de automação mais robusta, o VBA (Visual Basic for Applications) oferece uma forma eficiente de transferir dados filtrados entre folhas, ultrapassando as limitações da interface padrão. Esta solução revela-se especialmente útil em cenários que envolvem a gestão repetida de dados ou a geração de relatórios com lógica de filtragem consistente.
1. Comece por ativar a folha que contém os dados que pretende filtrar e copiar. Isto define o contexto para a execução do código e para os pedidos de seleção.
2. Prima ALT + F11 no Excel para abrir o editor do Microsoft Visual Basic for Applications.
3. Na janela do editor VBA, clique em Inserir > Módulo para adicionar um novo módulo. Depois, copie e cole o seguinte código na janela do módulo:
Código VBA: Copiar dados para outra folha com Filtro Avançado:
Sub Advancedfiltertoanothersheet()
'Updateby Extendoffice
Dim xStr As String
Dim xAddress As String
Dim xRg As Range
Dim xCRg As Range
Dim xSRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the filter range:", "Kutools for Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xCRg = Application.InputBox("Please select the criteria range:", "Kutools for Excel", "", , , , , 8)
If xCRg Is Nothing Then Exit Sub
Set xSRg = Application.InputBox("Please select the output range:", "Kutools for Excel", "", , , , , 8)
If xSRg Is Nothing Then Exit Sub
xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False
xSRg.Worksheet.Activate
xSRg.Worksheet.Columns.AutoFit
End Sub 4. Após inserir o código, execute a macro premindo a tecla F5. Irá aparecer uma caixa de diálogo a solicitar que escolha o intervalo de filtro (os dados com cabeçalhos que pretende filtrar). Selecione a gama pretendida e clique em OK.

5. A próxima caixa de diálogo pedir-lhe-á para selecionar o intervalo de critérios. Este deve incluir os cabeçalhos e conter os critérios de filtragem. Selecione as células com os critérios e clique em OK.

6. Irá aparecer uma última caixa de diálogo a pedir-lhe que selecione a área de colocação da lista na folha de destino. Pode navegar para outra folha, se necessário, e depois selecionar a célula onde pretende que os resultados filtrados comecem. Prima OK após a sua seleção.

7. Os dados filtrados são copiados automaticamente para a localização especificada na folha escolhida, e as colunas na folha de destino ajustam-se automaticamente à largura. Não perderá quaisquer dados originais em nenhuma das folhas, a menos que selecione um destino que já contenha conteúdo — nesse caso, este poderá ser sobrescrito.
- Precauções:
- Certifique-se de que as suas gamas de filtro e critérios incluam cabeçalhos e não contenham células combinadas nem linhas em branco, para evitar erros.
- Verifique se a célula de destino da sua saída está posicionada de forma a acomodar todo o conjunto de dados filtrado; caso contrário, corre o risco de sobrescrever dados adjacentes.
- Se precisar de repetir este processo frequentemente, pode guardar a macro e atribuir-lhe um atalho para um acesso mais rápido.
- Se encontrar erros ou se a macro não funcionar como esperado, confirme que as macros estão ativadas e que a sua pasta de trabalho está guardada como ficheiro com macros ativadas (.xlsm).
Resolução de problemas e dicas:
- Se selecionar o intervalo incorretamente ou deixá-lo em branco, a macro será encerrada sem efetuar alterações — basta executá-la novamente e reselecionar as áreas corretas.
- Ao trabalhar com conjuntos de dados grandes, aguarde a conclusão do processo antes de realizar outras ações.
- Pode modificar o VBA para incluir lógica mais avançada, como remover duplicados ou copiar a linha inteira.
Em resumo, ambas as soluções permitem-lhe copiar dados filtrados para outra folha utilizando o Filtro Avançado: os métodos manuais são ideais para tarefas simples ou ocasionais, enquanto a abordagem com VBA se revela a escolha certa para cenários regulares e automatizados de manipulação de dados. A opção mais adequada dependerá do seu fluxo de trabalho, do seu à vontade com ferramentas técnicas e da frequência com que precisa de repetir estas operações.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos