BUSCA EM EXCEL
BOM DIA GALERA BLZ. ALGUéM PODERIA MIM AJUDAR COMO FAZER UMA BUSCA EM QUALQUE PLANILHA DO EXCEL.
EXEMPLO:
CRIAR UM BOTÃO NA PLAN1 E NA CELULA DIGITAR UM VALOR QUALQUE, QUANDO CLICAR NO BUTÃO LOCALIZAR ESSE VALOR EM QUELQUER ABA DA PLANILHA TIPO: PLAN1 PLAN2 PLAN3.
AGRADEÇO AJUDA DE TODOS
ABRAÇOS
EXEMPLO:
CRIAR UM BOTÃO NA PLAN1 E NA CELULA DIGITAR UM VALOR QUALQUE, QUANDO CLICAR NO BUTÃO LOCALIZAR ESSE VALOR EM QUELQUER ABA DA PLANILHA TIPO: PLAN1 PLAN2 PLAN3.
AGRADEÇO AJUDA DE TODOS
ABRAÇOS
Fiz o seguinte comando.
Private Sub CmdPesquisar_Click()
Set x = Worksheets(1).Cells.Find(what:=TextBox1)
If TextBox1.Text = [Ô][Ô] Then Exit Sub
If Not x Is Nothing Then
x.Select
MsgBox [Ô]Texto encontrado na célula [Ô] & x.Address & Chr(10) & [Ô]Texto:[Ô] & x.Text
Else
MsgBox [Ô]Texto não encontrado[Ô]
End If
End Sub
Mais só localiza na Planilha ativa, gostaria de localozar também na aba Plan2 ou Plan3
Private Sub CmdPesquisar_Click()
Set x = Worksheets(1).Cells.Find(what:=TextBox1)
If TextBox1.Text = [Ô][Ô] Then Exit Sub
If Not x Is Nothing Then
x.Select
MsgBox [Ô]Texto encontrado na célula [Ô] & x.Address & Chr(10) & [Ô]Texto:[Ô] & x.Text
Else
MsgBox [Ô]Texto não encontrado[Ô]
End If
End Sub
Mais só localiza na Planilha ativa, gostaria de localozar também na aba Plan2 ou Plan3
Olá LVFIOROT, fiz o teste, mais continua localizando na Plan1. Quando digito Paulo em qualque celula da Plan1 localiza normal, mais quando digito na Plan2, mostra a mensagem de não localizado.
Citação::
ops falto o arquivo
rsrs. bem legal!!
AO INVéS DE LISTAR EM UM LIST, TINHA COMO IR DIRETAMENTA PARA PLAN2 OU PLAN3
AGRADEÇO.
AGRADEÇO.
Complementando a dica do meu amigo LVFIOROT:
Coloque essa sub em um módulo, depois é só aciona-la e digitar os dados para procura, vai apontar na planilha que contiver esses dados.
Sub Procura()
[ô]Declara uma strign que vai receber o valor a ser procurado na planilha
Dim procurado As String
[ô]Declara uma variável para receber o resultado de um MsgBox
Dim result As VbMsgBoxResult
[ô]Declara duas variáveis do tipo inteiro
[ô]i -> Para controlar o laço de repetição
[ô]QuantPlanilhas -> para armazenar a quantidade de planilhas da pasta de trabalho atual
Dim i, QuantPlanilhas As Integer
[ô]Atribui a quantidade de planilhas da pasta atual à variável QuantPlanilhas
[ô]O método ThisWorkbook.Worksheets.Count retorna esse parâmetro
QuantPlanilhas = ThisWorkbook.Worksheets.Count
[ô]Mostra um InputBox para que seja inserido o dado que será procurado em todas a
[ô]Pasta de trabalho e atribui seu valor à variávle procurado
procurado = InputBox([Ô]Digite o valor a ser procurado[Ô], [Ô]Valor procurado[Ô], [Ô]Exemplo, 2, 3, uma data qualquer[Ô])
[ô]Inicia o laço de repetição que varre todas as planilhas da pasta de trabalho atual
For i = 1 To QuantPlanilhas Step 1
[ô]Seleciona toda a área da planilha
With Worksheets(i).Range([Ô]A:IV[Ô])
[ô]Efetua o método de busca, que retorna o valor se for encontrado ou
[ô]Nothing caso não encontre nada
Set c = .Find(procurado, LookIn:=xlValues)
[ô]Caso tenha achado algo, ativa a célula onde está o valor procurado
[ô]e oferece para o usuário se quer ou não continuar a busca
If Not c Is Nothing Then
Worksheets(i).Select
Range(c.Address).Select
result = MsgBox([Ô]Deseja continuar a busca?[Ô], vbYesNo, [Ô]Continuar?[Ô])
[ô]Caso queira, continua a busca, caso contrário, sai do laço
If result = vbNo Then
Exit Sub
End If
End If
End With
Next
End Sub
Coloque essa sub em um módulo, depois é só aciona-la e digitar os dados para procura, vai apontar na planilha que contiver esses dados.
Sub Procura()
[ô]Declara uma strign que vai receber o valor a ser procurado na planilha
Dim procurado As String
[ô]Declara uma variável para receber o resultado de um MsgBox
Dim result As VbMsgBoxResult
[ô]Declara duas variáveis do tipo inteiro
[ô]i -> Para controlar o laço de repetição
[ô]QuantPlanilhas -> para armazenar a quantidade de planilhas da pasta de trabalho atual
Dim i, QuantPlanilhas As Integer
[ô]Atribui a quantidade de planilhas da pasta atual à variável QuantPlanilhas
[ô]O método ThisWorkbook.Worksheets.Count retorna esse parâmetro
QuantPlanilhas = ThisWorkbook.Worksheets.Count
[ô]Mostra um InputBox para que seja inserido o dado que será procurado em todas a
[ô]Pasta de trabalho e atribui seu valor à variávle procurado
procurado = InputBox([Ô]Digite o valor a ser procurado[Ô], [Ô]Valor procurado[Ô], [Ô]Exemplo, 2, 3, uma data qualquer[Ô])
[ô]Inicia o laço de repetição que varre todas as planilhas da pasta de trabalho atual
For i = 1 To QuantPlanilhas Step 1
[ô]Seleciona toda a área da planilha
With Worksheets(i).Range([Ô]A:IV[Ô])
[ô]Efetua o método de busca, que retorna o valor se for encontrado ou
[ô]Nothing caso não encontre nada
Set c = .Find(procurado, LookIn:=xlValues)
[ô]Caso tenha achado algo, ativa a célula onde está o valor procurado
[ô]e oferece para o usuário se quer ou não continuar a busca
If Not c Is Nothing Then
Worksheets(i).Select
Range(c.Address).Select
result = MsgBox([Ô]Deseja continuar a busca?[Ô], vbYesNo, [Ô]Continuar?[Ô])
[ô]Caso queira, continua a busca, caso contrário, sai do laço
If result = vbNo Then
Exit Sub
End If
End If
End With
Next
End Sub
Tópico encerrado , respostas não são mais permitidas