Página 1 de 1

Formulário de pesquisa

Enviado: 23 Abr 2019 às 09:28
por caseymor
Boa tarde.
Percebo pouco de excel , mas consegui, com pesquisas na Internet fazer formulário para inserir contactos .

O que eu preciso agora é outro formulário ou este mesmo mas com campo de pesquisa, que consiga fazer pesquisa em todos os campos . Já tentei mas não consigo ou então só pesquisa o nome e eu precisava de pesquisar em todos os campos.
Em anexo o meu ficheiro.

Obrigado

Formulário de pesquisa

Enviado: 28 Abr 2019 às 09:09
por caseymor
Alguém consegue ajudar , por favor.
Só falta formulário de pesquisa , é o que não consigo fazer

Obrigado

Re: Formulário de pesquisa

Enviado: 28 Abr 2019 às 09:31
por osvaldomp
Veja se ajuda.
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Dim n As Range
  If Txt_Nome.Value = "" Then Exit Sub
  Set n = Range("D2:D" & Cells(Rows.Count, 4).End(3).Row).Find(Txt_Nome.Value)
  If Not n Is Nothing Then
   MsgBox "nome localizado em " & n.Address(0, 0)
  Else: MsgBox "nome não localizado"
  End If
End Sub
Instale um acópia do código acima no módulo do Form, insira um botão no Form e vincule-o ao código.
Para efetuar a pesquisa digite um nome no campo Nome do Form e clique no botão.
O resultado da pesquisa será exibido em uma Caixa de Mensagem visto que você não informou o que deseja fazer com o resultado.

Formulário de pesquisa

Enviado: 28 Abr 2019 às 14:18
por caseymor
Erro meu.

O que pretendia , era quando pesquisa qualquer nome , o formulário ficasse preenchido (mostrasse todos os dados) com os dados todos que estão na folha excel , obrigado

Re: Formulário de pesquisa

Enviado: 28 Abr 2019 às 14:56
por osvaldomp
Acrescentei ao código abaixo os comandos para preencher os três primeiros campos do Form, complete para os demais campos.
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Dim n As Range
  If Txt_Nome.Value = "" Then Exit Sub
  Set n = Range("D2:D" & Cells(Rows.Count, 4).End(3).Row).Find(Txt_Nome.Value)
  If Not n Is Nothing Then
   Txt_Ordem.Value = Cells(n.Row, "A")
   Txt_Matricula.Value = Cells(n.Row, "B")
   Txt_Posto.Value = Cells(n.Row, "C")
   ' coloque aqui os comandos para preencher os demais campos, seguindo a estrutura acima
  Else: MsgBox "nome não localizado"
  End If
End Sub

Formulário de pesquisa

Enviado: 28 Abr 2019 às 16:11
por caseymor
Era mesmo isso... Obrigado está resolvido