PROCX Sem o Microsoft 365 – Como Usar em Qualquer Versão do Excel?
Descubra como usar a função PROCX sem o Microsoft 365 no Excel, criando sua própria função no VBA.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: Nesta aula de VBA, o Diego mostra como usar o PROCX em qualquer versão do Excel (sem o Microsoft 365): criando a sua própria função com VBA. Ele constrói do zero uma função MEUPROCX, declara os argumentos e tipos, percorre as células com um laço For, compara com o valor procurado, retorna o resultado, trata o “não encontrado” e ainda a ordem de pesquisa (de cima para baixo ou de baixo para cima).
Neste vídeo (27 min):
- 0:00 - O problema: o
PROCXnão existe nas versões antigas do Excel, a solução é criar sua própria função. - 5:00 - Abrir o editor VBA (Alt+F11) e criar a função
MEUPROCXcom seus argumentos. - 7:00 - Declarar o tipo de cada variável (Variant, Range, Integer, Optional).
- 9:00 - A lógica: percorrer as células do intervalo com um laço
For. - 11:00 - Validar que os intervalos de pesquisa e de resultado têm o mesmo tamanho.
- 14:00 - Comparar cada célula com o valor procurado e retornar o resultado correspondente.
- 17:00 - Tratar o “não encontrado” com o argumento opcional (
IsMissing). - 20:00 - Ordem de pesquisa (1 ou -1): inverter o laço com
Step -1para buscar de baixo para cima.
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai aprender:
Função PROCX Sem o Microsoft 365 no Excel
Você sabia que é possível criar qualquer função no VBA? Isso mesmo, com o VBA você consegue replicar funções do Excel, como a PROCX, mesmo sem ter o Microsoft 365.
Neste artigo, você vai aprender a criar a função PROCX no VBA, mesmo que esteja usando uma versão antiga do Excel.
Assim, você poderá usar o PROCX sem o Microsoft 365, criando suas próprias funções personalizadas e aproveitando todos os benefícios dessa função moderna.
Como o VBA é uma linguagem de programação, é possível criar funções que automatizam tarefas, aumentam a produtividade e replicam funções mais avançadas do Excel.
Claro que você pode ir além do PROCX — o que vamos aprender aqui vale também para outras funções personalizadas que você quiser criar no VBA.
Lembre-se: a função PROCX é uma evolução do PROCV, permitindo buscas mais flexíveis e completas no Excel.
Então, pronto para criar sua própria função PROCX no VBA, usando if, for e tudo o que for preciso? Vamos lá!
Para usar o PROCX sem o Microsoft 365, você cria uma função personalizada (UDF) no VBA que reproduz o comportamento do PROCX. Abra o editor VBA (Alt+F11), insira um módulo e cole o código de uma Function que percorre o intervalo de busca e retorna o valor correspondente. Assim você tem o PROCX em qualquer versão do Excel, mesmo as que não têm a função nativa.
Como Inserir um Módulo no VBA para Criar a Função PROCX
Para criar a função PROCX no VBA, o primeiro passo é abrir o editor do VBA. Para isso, pressione o atalho de teclado Alt + F11 ou Fn + Alt + F11.
Como ainda não temos um módulo específico para esta função, vamos criar um novo módulo para manter tudo organizado.
No ambiente do VBA, vá até Inserir > Módulo. Isso abrirá uma nova caixa em branco onde escreveremos o código.

Esse novo módulo, por padrão, será nomeado como “Módulo1”.
Função PROCX em VBA: Código Completo
Abaixo está a função que será usada para simular o comportamento da PROCX:
Function meuPROCXAula(valorProcurado As Variant, intervaloPesquisa As Range, intervaloResultado As Range, Optional seNaoEncontrado As Variant, Optional ordemPesquisa As Integer)
If intervaloPesquisa.Count <> intervaloResultado.Count Then
meuPROCXAula = "Os intervalos possuem tamanhos diferentes"
Exit Function
End If
If ordemPesquisa = 1 Or ordemPesquisa = 0 Then
ini = 1
fim = intervaloPesquisa.Count
passo = 1
Else
ini = intervaloPesquisa.Count
fim = 1
passo = -1
End If
For i = ini To fim Step passo
If intervaloPesquisa(i) = valorProcurado Then
meuPROCXAula = intervaloResultado(i)
Exit Function
End If
Next
If IsMissing(seNaoEncontrado) Then
meuPROCXAula = "Não encontrou o valor procurado"
Else
meuPROCXAula = seNaoEncontrado
End If
End FunctionExplicação do Código
A função meuPROCXAula é criada com os seguintes argumentos:
- valorProcurado: uma variável do tipo Variant, que pode receber qualquer valor;
- intervaloPesquisa: tipo Range, representa o intervalo onde será feita a busca;
- intervaloResultado: tipo Range, de onde será extraído o valor correspondente;
- seNaoEncontrado: argumento opcional do tipo Variant, que define o valor padrão quando o item não é encontrado;
- ordemPesquisa: argumento opcional do tipo Integer, que define a direção da busca (direta ou reversa).
1. Verificação dos Intervalos
Antes de iniciar a busca, utilizamos uma estrutura de comparação If para comparar o tamanho de intervaloPesquisa e intervaloResultado. Se forem diferentes, a função retorna a mensagem “Os intervalos possuem tamanhos diferentes” e é encerrada com Exit Function.
2. Controle da Ordem de Pesquisa
A variável ordemPesquisa define a direção da busca que será feita dentro dos intervalos. O código verifica se esse valor é 0 ou 1, o que indica uma busca direta, do início ao fim do intervalo. Qualquer outro valor indica uma busca reversa, do fim para o início.
Se ordemPesquisa for 0 ou 1:
- A variável ini recebe o valor 1 (início do intervalo);
- fim recebe o total de elementos no intervaloPesquisa;
- passo é definido como 1 (busca crescente).
Caso contrário (busca reversa):
- ini recebe o total de elementos do intervaloPesquisa;
- fim passa a ser 1 (início do intervalo);
- passo é definido como -1 (busca decrescente).
Essa lógica permite que a função percorra o intervalo na ordem desejada, seja para frente ou para trás, tornando o comportamento mais flexível que o da função PROCV, por exemplo
3. Estrutura de Repetição e Tratamento de Resultado
Após definir a direção da busca com base nas variáveis ini, fim e passo, a função entra em uma estrutura de repetição do tipo For. Esse loop percorre o intervaloPesquisa conforme os valores definidos, permitindo buscas crescentes ou decrescentes.
A cada iteração, o código compara o valor da célula atual (intervaloPesquisa(i)) com o valorProcurado. Se encontrar uma correspondência, retorna imediatamente o valor equivalente no intervaloResultado(i) e encerra a execução da função com Exit Function.
Caso percorra todo o intervalo sem encontrar o valor, a função verifica se o argumento opcional seNaoEncontrado foi informado:
- Se não foi preenchido, o retorno padrão será: "Não encontrou o valor procurado";
- Se foi preenchido, a função retorna exatamente o valor informado nesse argumento.
Essa lógica garante que a função entregue uma resposta clara e personalizável mesmo quando o valor procurado não for localizado.
Exemplo de Uso da Função PROCX em VBA no Excel
Agora que já criamos a função PROCX no VBA, podemos utilizá-la diretamente nas células do Excel, como qualquer outra função nativa do programa.
Para isso, basta digitar na célula:
=meuPROCXAula(...)Preenchendo os argumentos conforme a sua necessidade. Veja abaixo um exemplo prático da utilização da função personalizada:
=meuPROCXAula(E1;B1:B6;A1:A6;"";-1)
Com isso, conseguimos simular o comportamento da função PROCX mesmo sem ter acesso ao Microsoft 365.
Perguntas frequentes sobre PROCX sem o Microsoft 365
1. Dá para usar o PROCX em versões antigas do Excel?
Nativamente não — o PROCX só existe no Microsoft 365 e no Excel 2021. Mas você pode recriá-lo com uma função personalizada em VBA, que funciona em qualquer versão, inclusive Excel 2016 e 2019.
2. O que é uma função personalizada (UDF) no VBA?
É uma função criada por você no VBA, que passa a aparecer no Excel como se fosse nativa. Com ela é possível reproduzir recursos que sua versão não tem, como o PROCX, ou criar cálculos sob medida.
3. Como criar a função PROCX no VBA?
Abra o VBA com Alt+F11, insira um Módulo (Inserir > Módulo) e escreva uma Function que recebe o valor procurado e os intervalos, percorre a busca e retorna o resultado. Depois é só usá-la na planilha como uma função comum.
4. A função PROCX em VBA é igual à original?
Ela reproduz o essencial do PROCX — buscar um valor e retornar o correspondente, com controle da ordem de pesquisa. Pode não ter todos os parâmetros avançados da versão nativa, mas resolve a grande maioria dos casos do dia a dia.
Conclusão – Função PROCX Sem o Microsoft 365 no Excel
Nesta aula, mostramos que é totalmente possível utilizar a função PROCX sem o Microsoft 365, criando uma versão personalizada com VBA.
Você viu como abrir o editor do VBA, inserir um novo módulo, construir passo a passo a função meuPROCXAula e aplicá-la diretamente em suas planilhas, como se fosse uma função nativa.
Com esse conhecimento, você não depende mais das versões mais recentes do Excel para usar funcionalidades modernas. É possível adaptar suas necessidades usando o poder do VBA e criando soluções sob medida para o seu trabalho.
Agora que você sabe como usar o PROCX sem o Microsoft 365, continue explorando outras funções que podem ser personalizadas no Excel. Essa é uma ótima forma de evoluir sua automação e resolver problemas de forma criativa.
Hashtag Treinamentos
Para acessar outras publicações de VBA, clique aqui!
Posts mais recentes de VBA
- Como usar o Selenium no VBA para Automatizar Buscas na WebComo usar o Selenium no VBA para automação web no Excel. Aprenda passo a passo a instalar, configurar e capturar dados online com Selenium VBA + ChromeDriver.
- Preencher um Documento em Word com VBA: Guia CompletoAprenda a preencher um documento em Word com VBA usando dados do Excel. Tutorial prático para automatizar documentos como contratos e procurações.
- Planilha para Controle de Ações e IR 2.0 – Download Grátis e Guia CompletoBaixe grátis a Planilha para Controle de Ações e IR. Organize seus investimentos, calcule Imposto de Renda e acompanhe tudo com gráficos no Excel.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.







