Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Agenda Telefônica, botão de Busca [Resolvido]
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Dom Jan 25, 2015 10:53 pm
Agenda Telefônica, botão de Busca [Resolvido]
Olá. Vi um tutorial de como fazer uma agenda telefonica em vba, porém, quando eu digito no campo para buscar o nome de algum contato, ela apenas me retorna o primeiro resultado, não sendo possível retornar outros resultados com o mesmo nome. Como resolvo isso?
Desculpe pela explicação pobre, mas ainda sou leigo no assunto.
Segue o código:
Private Sub cmdBusca_Click()
If txtLocalizar.Text = "" Then
MsgBox "Você deve digitar o nome do contato a ser localizado!", vbInformation, "Agenda"
Exit Sub
Else
txtLocalizar = UCase(txtLocalizar)
Plan1.Range("A2").Select
End If
Do
If IsNumeric(ActiveCell) Then
ActiveCell.Offset(0, 1).Select
If ActiveCell.Value = txtLocalizar.Value Then
Exit Do
End If
ActiveCell.Offset(1, -1).Select
If IsEmpty(ActiveCell) Then
MsgBox "Contato não localizado", vbInformation, "Agenda"
Exit Do
Exit Sub
End If
Else
Exit Do
End If
Loop Until ActiveCell.Text = txtLocalizar.Text
On Error Resume Next
ActiveCell.Offset(0, -1).Select
CarregarDadosnoFormulário
End Sub
Desculpe pela explicação pobre, mas ainda sou leigo no assunto.
Segue o código:
Private Sub cmdBusca_Click()
If txtLocalizar.Text = "" Then
MsgBox "Você deve digitar o nome do contato a ser localizado!", vbInformation, "Agenda"
Exit Sub
Else
txtLocalizar = UCase(txtLocalizar)
Plan1.Range("A2").Select
End If
Do
If IsNumeric(ActiveCell) Then
ActiveCell.Offset(0, 1).Select
If ActiveCell.Value = txtLocalizar.Value Then
Exit Do
End If
ActiveCell.Offset(1, -1).Select
If IsEmpty(ActiveCell) Then
MsgBox "Contato não localizado", vbInformation, "Agenda"
Exit Do
Exit Sub
End If
Else
Exit Do
End If
Loop Until ActiveCell.Text = txtLocalizar.Text
On Error Resume Next
ActiveCell.Offset(0, -1).Select
CarregarDadosnoFormulário
End Sub
- Anexos
-
- agendatelefonica.zip
- (126.75 KiB) Baixado 171 vezes
Editado pela última vez por abmoraes86 em Ter Jan 27, 2015 6:08 pm, em um total de 1 vez.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Agenda Telefônica, botão de Busca
Abmoraes, boa noite e seja bem vindo ao fórum.
Dei uma olhada no seu modelo e encontrei o seguinte erro:
- No código abaixo, você utiliza a função UCASE para tornar maiúscula, todas as letras do nome digitado em txtLocalizar.
- Os códigos em VBA são sensitives, quando relacionados funções de comparação. Observe a linha abaixo do seu código:
Você esta comparando um nome com letras minúsculas do ActiveCell.Value (por exemplo, "carlos") e um nome com letras maiúsculas do txtLocalizar.Value (por exemplo, "CARLOS"). Como a linguagem é sensitive, ela não diferencia maiúsculos de minúsculos, de forma que não localiza o nome digitado.
Para corrigir este problema, adiciona a função UCASE no ActiveCell.Value, ficando o código da seguinte forma:
Teste no seu modelo e de um retorno sobre essa alteração.
Abraços e bons estudos!!!!
Dei uma olhada no seu modelo e encontrei o seguinte erro:
- No código abaixo, você utiliza a função UCASE para tornar maiúscula, todas as letras do nome digitado em txtLocalizar.
Código: Selecionar todos
txtLocalizar = UCase(txtLocalizar)
Código: Selecionar todos
If ActiveCell.Value = txtLocalizar.Value Then
Para corrigir este problema, adiciona a função UCASE no ActiveCell.Value, ficando o código da seguinte forma:
Código: Selecionar todos
If UCase(ActiveCell.Value) = txtLocalizar.Value Then
Abraços e bons estudos!!!!
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Dom Jan 25, 2015 10:53 pm
Re: Agenda Telefônica, botão de Busca
Obrigado pela atenção. Mas mudei o código e ainda não é bem o que eu queria. Gostaria que me retornassem os resultados com o mesmo nome, quando fosse clicado no botão buscar. Ex:
Tenho no cadastro
1) Fulano de Tal
2) Ciclano
3) Fulano da Silva
Quando digito "Fulano" na barra de busca, só aparecem os dados do 1).
Gostaria que, ao clicar no botão de busca, aparecessem os dados do 1) e ao clicar novamente, aparecesse os dados do 3)
Espero ter me explicado melhor, se puder me ajudar eu agradeço, pois estou desenvolvendo essa agenda para o meu serviço.
Tenho no cadastro
1) Fulano de Tal
2) Ciclano
3) Fulano da Silva
Quando digito "Fulano" na barra de busca, só aparecem os dados do 1).
Gostaria que, ao clicar no botão de busca, aparecessem os dados do 1) e ao clicar novamente, aparecesse os dados do 3)
Espero ter me explicado melhor, se puder me ajudar eu agradeço, pois estou desenvolvendo essa agenda para o meu serviço.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Agenda Telefônica, botão de Busca
Abmoraes, boa noite.
Entendi o que você esta querendo, mas acho muito difícil de realizar este procedimento no Excel, pelo menos usando a linha de pensamento que você descreveu. Não é impossível, mas seria trabalhoso e no final, não valeria tanto a pena. Se fosse no Access, seria mais fácil de realizá-lo.
Uma solução prática que lhe daria neste caso seria você adicionar um ListBox em seu formulário. Quando a pesquisa for realizada, o nome de todas as pessoas seriam listados, permitindo que o usuário selecione-os e os dados sejam carregados nos TextBox's.
Pense sobre o caso. No fórum existem vários exemplos de pesquisa com o ListBox e o ListView, mas eu aconselho usar o ListBox.
Quaisquer dúvidas, estamos ai pra ajudar.
Abraços!!!!
Entendi o que você esta querendo, mas acho muito difícil de realizar este procedimento no Excel, pelo menos usando a linha de pensamento que você descreveu. Não é impossível, mas seria trabalhoso e no final, não valeria tanto a pena. Se fosse no Access, seria mais fácil de realizá-lo.
Uma solução prática que lhe daria neste caso seria você adicionar um ListBox em seu formulário. Quando a pesquisa for realizada, o nome de todas as pessoas seriam listados, permitindo que o usuário selecione-os e os dados sejam carregados nos TextBox's.
Pense sobre o caso. No fórum existem vários exemplos de pesquisa com o ListBox e o ListView, mas eu aconselho usar o ListBox.
Quaisquer dúvidas, estamos ai pra ajudar.
Abraços!!!!
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Dom Jan 25, 2015 10:53 pm