Usuário com melhor resposta
Procurada de nome.

Pergunta
-
Caros amigos...saudações a todos!
Gostaria de pedir a ajuda de vocês para criar uma sub rotina para VBA em Excel que faça uma busca de um nome em uma planilha chamada "funcionários".
Obs: criei um userform com uma textbox e um botão, gostaria de quando eu digitasse o nome do funcionário e clicasse no botão o nome do funcionário fosse procurado na coluna A da linha 1 em diante e se encontrado aparesse uma caixa de mensagem (msgbox) dizendo que o funcionário foi encontrado.
Na planilha o nome do funcionário está completo, ou seja, nome e sobrenome, gostaria que se eu digitasse somente o primeiro nome a busca encontrasse também. Não se preocupem nomes repetidos pois no meu caso não haverá.
Agradeço a ajuda de vocês!!!
Respostas
-
Olá Braz, não sei se essa é a melhor maneira, mas está funcionando do jeito que você pediu.
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
With Worksheets(1).Columns(1)
Set c = .Find(TXT_PESQUISA, LookIn:=xlValues)
If Not c Is Nothing Then
c.Activate
endereço = c.Address
TextBox1 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox2 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox3 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox4 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox5 = c
End If
End WithQualquer dúvida post denovo...
Abraços...
Todas as Respostas
-
Olá Braz, isto deve ajudar..
Set x = Worksheets("funcionários").Columns("A").Find(what:=TXT_PESQUISA)
If TXT_PESQUISA.Text = "" Then Exit Sub
If Not x Is Nothing Then
x.Select
MsgBox "Funcionário encontrado na célula " & x.Address & Chr(10) & "Nome:" & x.Text
Else
MsgBox "Funcionário não encontrado"
End IfBasta nomear sua text_box por TXT_PESQUISA e colar o código no seu botão.
Abraços...
-
Caro amigo EvangelistaLion como vai?
Meu amigo deu certinho a sub que você postol, ficou chique mesmo, mas eu dei uma bobeira na minha informação, pois o que eu disse de que não haveria problema de existir nomes repetidos, infelismente não é verdade, pois entraram nomes repetidos na planilha.
Vou explicar melhor o que estou fazendo:
Criei uma userform com uma textbox1 e um botão. Na textbox1 vou colocar somente o primeiro nome do funcionário e vou clicar no botão para que seja feita a busca. Quando for encontrado os nomes quero que apareça em mais 5 textbox que coloquei na userform, acho que não terei mais de 5 nomes iguais na planilha, assim espero rsrsrsrsrsrsr
Então é isso meu amigo: uma userform com 6 textbox e um botão, na textbox1 eu coloco só o primeiro nome se encontrado por exemplo 3 nomes iguais os nomes aparecerão nas textbox2, textbox3 e textbox4.
Lembrando que os nomes na planilha estão completos, ou seja, nome e sobrenome.
Mais uma vez muito obrigado meu grande amigo!!!!!!
-
Olá Braz, não sei se essa é a melhor maneira, mas está funcionando do jeito que você pediu.
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
With Worksheets(1).Columns(1)
Set c = .Find(TXT_PESQUISA, LookIn:=xlValues)
If Not c Is Nothing Then
c.Activate
endereço = c.Address
TextBox1 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox2 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox3 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox4 = c
Set c = .FindNext(c)
c.Activate
If c.Address = endereço Then Exit Sub
TextBox5 = c
End If
End WithQualquer dúvida post denovo...
Abraços...
-
E ai meu amigo Evangelista como você está meu amigo?
Rapaz você acertou no alvo!!!! Ficou 10 a sub rotina, era disso mesmo que eu estava precisando.
Como já disse em outros tópicos que postei, eu não manjo muito de VBA, tenho que aprender muito para chegar no patamar de vocês, mas trabalho com programas gráficos há mais de 15 anos, programas tais como Photoshop, Adobe Premiere, Particle Illusion, etc.. Se um dia você precisar de alguma coisa relacionada a esses programas pode contar comigo que estarei pronto a atender você e todos os amigos aqui do Fórum.
Mais uma vez muito obrigado pela sua ajuda!!!
-