Como procurar ou encontrar valores noutra pasta de trabalho?
No seu trabalho diário com o Excel, é frequente precisar de recuperar informações armazenadas noutra pasta de trabalho. Quer esteja a compilar um resumo, a reconciliar registos entre departamentos ou simplesmente a utilizar dados de referência mantidos separadamente, saber como procurar valores e devolver informações de uma pasta diferente é essencial. Esta capacidade melhora significativamente a consistência dos dados e reduz erros manuais, especialmente ao trabalhar com intervalos de origem distribuídos, conjuntos de dados extensos ou pastas partilhadas com colegas.
Este artigo explora formas de localizar ou pesquisar valores noutra pasta de trabalho e devolver dados relevantes diretamente para o seu ficheiro ativo do Excel. Apresenta três métodos práticos, adaptados a cenários comuns: a clássica função VLOOKUP com referência a pastas abertas ou fechadas, uma solução em VBA para necessidades dinâmicas e técnicas alternativas baseadas em fórmulas. Explicações detalhadas e exemplos práticos ajudá-lo-ão a escolher o método mais adequado ao seu fluxo de trabalho.
- Procurar dados e Valor de retorno de outro livro no Excel
- Procurar dados e Valor de retorno de outro livro fechado com VBA
- Soluções alternativas com fórmulas para procura entre livros
Procurar dados e Valor de retorno de outra pasta de trabalho no Excel
Imagine que está a preparar uma tabela de Compras de Fruta no Excel e precisa de obter os preços mais recentes das frutas armazenados noutro livro. Em vez de copiar e colar, pode procurar facilmente os nomes das frutas no seu livro de origem e obter automaticamente os respetivos preços — garantindo precisão e atualizações em tempo real. Abaixo, mostramos como realizar esta tarefa utilizando a função VLOOKUP.


Comece por abrir quer a pasta de trabalho onde pretende recolher ou resumir dados, quer a pasta de origem que contém a informação (por exemplo, preços).
Escolha a célula onde pretende apresentar o preço de uma fruta e introduza nela a seguinte fórmula, substituindo os detalhes conforme necessário:
=VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE)
Depois de digitar a fórmula, prima Enter. Se quiser aplicar esta fórmula a mais linhas, basta arrastar a alça de preenchimento (o pequeno quadrado no canto inferior direito da célula) para baixo, preenchendo tantas células quantas forem necessárias.


Explicação e Dicas:
(1) Na fórmula de exemplo acima:
- B2 é a célula que contém a fruta que está à procura.
- Price.xlsx é o livro de origem que contém os dados dos preços. Certifique-se de que o nome e a extensão do ficheiro estão corretos.
- Sheet1 é a folha do livro de origem que contém a tabela de pesquisa.
- A$1:$B$24 é o intervalo onde se encontram tanto a chave (por exemplo, nomes de frutas) como o valor (preços). Ajuste o intervalo caso a sua área de dados seja diferente.
- 2 significa que os valores serão devolvidos a partir da segunda coluna do intervalo limitado.
- FALSE garante que seja exigida uma correspondência exata; utilizar TRUEpoderá produzir resultados incorretos ou aproximados.
(3) Se vir um erro #N/A, normalmente significa que o valor de procura não existe no Intervalo de origem. Verifique novamente as grafias, Intervalo e confirme se todas as pastas necessárias estão disponíveis.
Ao utilizar este método, pode consolidar preços ou informações atualizadas a partir de fontes externas. O valor de retorno será atualizado automaticamente sempre que o livro de origem for alterado, desde que esteja aberto ou acessível no caminho correto.
Vantagens: Fácil de configurar para a maioria dos utilizadores; os dados são atualizados automaticamente.
Limitações: As fórmulas podem tornar-se complicadas se os caminhos ou os nomes dos livros forem alterados, e as pesquisas em livros fechados podem tornar ficheiros grandes mais lentos ou solicitar-lhe que atualize as ligações.
Para recuperações mais complexas ou se precisar frequentemente de referenciar dados com o livro externo fechado, considere utilizar o método VBA ou as fórmulas alternativas abaixo.
![]() | A fórmula é demasiado complicada para memorizar? Guarde-a como uma entrada de Texto Automático e reutilize-a com apenas um clique no futuro!Ler mais… Teste gratuito |

Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Procurar dados e Valor de retorno de outra pasta fechada com VBA
Configurar referências de procura com VLOOKUP pode ser confuso, especialmente se alterar frequentemente o caminho, nome ou folha do ficheiro de origem. Nestes cenários, automatizar o processo de procura com VBA pode ser uma solução mais simplificada, permitindo procurar valores mesmo quando o livro de origem está fechado e automatizando a seleção de intervalos e a devolução de dados.
Siga estes passos para utilizar VBA em procuras entre livros:
1. Prima Alt + F11 simultaneamente para abrir a janela do editor Microsoft Visual Basic para Aplicações.
2.No editor VBA, clique em Inserir>Módulo, depois copie e cole o seguinte código na janela do módulo:
VBA: Procurar dados e Valor de retorno de outro livro fechado
Option Explicit
' Convert column number to column letter
Private Function GetColumn(ByVal Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & _
Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
' Get current selection address
xAddress = Application.ActiveWindow.RangeSelection.Address
' Ask user to select lookup range
Set xUserRange = Application.InputBox( _
Prompt:="Lookup values :", _
Title:="Kutools for Excel", _
Default:=xAddress, _
Type:=8)
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
' Limit selection to used range
Set xUserRange = Application.Intersect(xUserRange, _
Application.ActiveSheet.UsedRange)
' Ask user to select source workbook
xFileName = Application.GetOpenFilename( _
"Excel Files (*.xlsx), *.xlsx", _
1, _
"Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
' Open source workbook
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
' Build external reference string
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & _
xSourceSh.Name & "'!$"
' Loop through user range
For Each xRg In xUserRange
' Find matching value in source sheet
Set xFCell = xSourceSh.Cells.Find( _
What:=xRg.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False)
' If found, write formula 2 columns to the right
If Not xFCell Is Nothing Then
xRg.Offset(0, 2).Formula = _
xString & _
GetColumn(xFCell.Column + 1) & _
"$" & xFCell.Row
End If
Next xRg
' Close source workbook without saving
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub Detalhes importantes:
- O código devolve o valor correspondente numa coluna deslocada 2 colunas em relação ao intervalo de procura. Por exemplo, se selecionar a coluna B, os resultados aparecem na coluna D.
- Se pretender que o resultado apareça noutra coluna, altere o número 2 em
xRg.Offset(0,2).Formulapara outro valor (por exemplo,)1 para a coluna seguinte ou 3 para a terceira coluna à direita). - Escolha o livro e a folha corretos quando solicitado; o código utilizará sempre a primeira folha do ficheiro selecionado. Ajuste o código se a sua folha de origem não for a primeira.
- Guarde sempre o seu ficheiro antes de executar macros desconhecidas. As macros não podem ser anuladas após a execução.
3. Execute a macro premindo a tecla F5 ou clicando no botão Executar. Aparecerá uma caixa de diálogo intitulada «Kutools para Excel» que lhe pedirá para selecionar o intervalo de células cujos valores pretende procurar.

4. Após selecionar o seu intervalo, clique em OK. Pouco depois, aparecerá outra caixa de diálogo a solicitar que escolha o livro de origem (mesmo que esteja fechado). Navegue até ao ficheiro adequado, selecione-o e, em seguida, clique em Abrir para confirmar.

Quando a macro terminar, os valores correspondentes do livro de origem serão devolvidos à coluna de destino no seu Planilha Atual. Se alguns valores estiverem em falta, verifique se os Intervalo de valor de pesquisa no Planilha Atual correspondem exatamente aos do Dados de Origem (maiúsculas/minúsculas e espaços à esquerda/Espaços Atrás são relevantes para uma correspondência exata).

Vantagens: Funciona com livros fechados, evita caminhos de arquivo codificados nas fórmulas e oferece flexibilidade na seleção de ficheiros de origem em tempo real.
Considerações: As macros têm de estar ativadas; o VBA pode não funcionar em folhas protegidas ou com dados provenientes de ficheiros que não sejam do Excel. Guarde o seu livro com suporte a macros (*.xlsm) se pretender utilizar este método frequentemente.
Se encontrar erros, certifique-se de que não há gralhas nos nomes das folhas ou ficheiros, de que o intervalo selecionado é adequado e de que os caminhos dos ficheiros estão acessíveis. Para depuração, considere executar o código linha a linha no editor do VBA.
Soluções alternativas com fórmulas para procura entre livros
Além da abordagem clássica com VLOOKUP e do VBA, existem formas alternativas de realizar pesquisas entre livros no Excel — ideais em situações específicas, como quando a estrutura dos seus dados é diferente, prefere fórmulas a macros ou precisa de maior flexibilidade, por exemplo, para procurar para a esquerda ou aplicar múltiplos critérios.
Utilização das funções ÍNDICE e CORRESP entre livros
Com a combinação de ÍNDICE e CORRESP, pode procurar valores em qualquer direção — esquerda, direita, acima ou abaixo — noutro livro. Isto é especialmente útil quando a coluna de onde pretende obter dados não está à direita da coluna de procura (uma limitação do VLOOKUP).
Cenário: Imagine que pretende obter o preço de outra tabela aberta, em que o nome da fruta pode não estar na primeira coluna.
1.No seu livro de destino, selecione a célula onde pretende apresentar o resultado (por exemplo, C2) e introduza a fórmula abaixo (substitua o livro, a folha e o intervalo conforme necessário):
=INDEX([Price.xlsx]Sheet1!$B$1:$B$24, MATCH(B2, [Price.xlsx]Sheet1!$A$1:$A$24,0)) 2. Prima Enter. Depois, copie ou preencha a fórmula nas outras linhas conforme necessário, arrastando a alça de preenchimento.
Explicação dos parâmetros:
- [Price.xlsx]Sheet1!$B$1:$B$24: O intervalo onde os preços estão armazenados.
- B2: O nome da fruta a procurar.
- [Price.xlsx]Sheet1!$A$1:$A$24: O intervalo onde procurar o seu valor de pesquisa.
- O 0 no final garante uma correspondência exata.
Pontos fortes: Funciona tanto para pesquisas à esquerda como à direita; adapta-se a disposições mais flexíveis.
Dicas: Evite mover ou renomear ficheiros de origem sem atualizar a respetiva fórmula.
Utilização do XLOOKUP para procura entre livros (Excel 365 e posterior)
Se utilizar Excel 365 ou Excel 2021, a nova função XLOOKUP é ainda mais flexível. Permite encontrar facilmente correspondências exatas, suporta procuras à esquerda e trata automaticamente valores em falta sem gerar erros.
Para a utilizar:
Na célula onde pretende o resultado, introduza:
=XLOOKUP(B2, [Price.xlsx]Sheet1!$A$1:$A$24, [Price.xlsx]Sheet1!$B$1:$B$24, "Not found") Prima Enter e copie a fórmula conforme necessário. Aqui, «Não encontrado» pode ser substituído por qualquer texto personalizado que deseje apresentar caso a procura falhe.
Benefícios: Mais flexível do que o VLOOKUP e mais fácil de gerir; evita muitos erros comuns associados a fórmulas antigas. Contudo, o XLOOKUP só está disponível em versões mais recentes do Excel.
Para requisitos complexos, como correspondência com múltiplos critérios, procura em folhas combinadas ou evitar problemas de desempenho em ficheiros muito grandes, considere organizar os Dados de Origem em tabelas estruturadas ou utilizar a ferramenta Power Query do Excel para Vincular Dados eficientemente entre vários livros.
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
