LOCALIZAR AVANÇADO
Especialista em Excel
https://www.guiadoexcel.com.br/downloads/
Você quer localizar um valor em uma pasta de trabalho do Excel, porém o CTRL+L só traz os resultados da planilha em que você está. Ou seja se você quisesse um resultado diferente teria que ir de aba em aba usando CTR+L, o que seria uma perda de tempo.
No post de hoje vou ensinar como criar um localizar avançado no Excel que procura em todas as planilhas e não só na atual, se gostarem em um outro post eu posso fazer um para substituir os valores localizados nas planilhas.
Criando o formulário
Com o Excel aberto, clique na guia Desenvolvedor e no botão Visual Basic.
Clique no projeto VBAProject(PERSONAL.XLSB).
Selecione o menu Inserir->User Form

Projeto
Clique no formulário criado e selecione na caixa de ferramentas os objetos:
Frame = altere a propriedade name para frDados e a Caption para Pesquisar
Lable = altere a propriedade Caption para Pesquisar
TextBox = altere a propriedade name para txtPesquisa
CommandButton = altere a propriedade Caption para Pesquisar
Frame2 = altere a propriedade Caption para Resultados
ListBox = altere a propriedade Name para listResultado, a propriedade ForeColor para &H00FF0000& e fonte marcar como sublinhado.

Formulário
Programação
Clique duas vezes sobre o botão Pesquisar e insira o código abaixo:
Private Sub CommandButton1_Click() Dim currentFind As Excel.Range Dim firstFind As Excel.Range Dim lQtdePlan As Integer Dim lPlanAtual As Integer Dim lPlanFim As Boolean 'Conta a quantidade de planilhas lQtdePlan = Worksheets.Count lPlanAtual = 1 lPlanFim = False 'Limpa os resultados listResultado.Clear 'Verifica se há texto para pesquisar If txtPesquisa.Text <> "" Then 'Loop pelas planilhas While lPlanAtual <= lQtdePlan 'Define a Range de Pesquisa Set currentFind = Worksheets(lPlanAtual).Range("A1:XFD1048576").Find(txtPesquisa.Text, , _ Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, _ Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False) Set firstFind = Nothing 'Realiza o loop das pesquisas While Not currentFind Is Nothing And lPlanFim = False If firstFind Is Nothing Then Set firstFind = currentFind ElseIf currentFind.Address = firstFind.Address Then lPlanFim = True End If If lPlanFim = False Then Set currentFind = Worksheets(lPlanAtual).Range("A1:XFD1048576").FindNext(currentFind) listResultado.AddItem (Worksheets(lPlanAtual).Name & "!" & currentFind.Address) End If Wend 'Passa para a próxima planilha lPlanAtual = lPlanAtual + 1 lPlanFim = False Wend End If Sair: Exit Sub End SubClique duas vezes no ListBox e insira o código abaixo:
Private Sub listResultado_Click() Dim lRng As Range Dim lEndereco() As String 'Separa a planilha da célula lEndereco = Split(listResultado, "!") 'Abre a planilha Worksheets(lEndereco(0)).Activate 'Define o endereço Set lRng = Range(lEndereco(1)) 'Ativa o endereço lRng.Activate End Sub Clique na guia Inserir Módulo, e no módulo criado insira o código abaixo:
Sub gsLocalizarAvancado() frmPesquisaAvancada.Show End SubSalve e feche o ambiente de desenvolvimento, voltando desta forma para a pasta de trabalho.
Criando o Atalho
Clique na guia Desenvolvedor e no botão Macros, selecione a função PERSONAL.XLSB!gsLocalizarAvancado.
Clique no botão Opções e na caixa tecla de atalho digite Shift+l, ou seja L maiúsculo.

Atalho
Concluindo
Como resultado temos que uma tela que será chamada quando você digitar CTRL+SHIFT+L e que irá realizar uma busca por todas as planilhas da pasta de trabalho aberta já com link para ela, ou seja ao clicar nos resultados você será direcionado diretamente para ele, assim como o localizar nativo do Excel.

Teste - Clique para ampliar
Então é isso amigos, agradeço a leitura do artigo, e se tiverem dúvidas, sugestões ou comentários sobre o blog fiquem a vontade para fazer.
https://www.guiadoexcel.com.br/downloads/
Marcos Rieper
Este conteúdo foi útil?
Continue lendo

10 Dicas de Excel Avançado
Neste artigo você verá 10 Dicas de Excel Avançado. Veja em vídeo as dicas e também por escrito e download da planilha grátis no artigo.

FILTRO AVANÇADO EXCEL COM MACRO
Neste artigo você aprenderá como utilizar o filtro avançado, e mais, como utilizá-lo com uma macro de Excel para tornar o filtro automático. Para isso vamos conhecer como funciona

Como Usar o Filtro Avançado no Excel
Veja como usar o filtro avançado no Excel com vários truques, incluindo como automatizar o filtro avançado com vba. Planilha grátis.

