Jump to content
Fórum Script Brasil
  • 0

Busca com múltiplos critérios


Question

Pessoal, estou começando a me aventurar pelo VBA e preciso de uma ajuda. 

 

Criei um formulário que me permite buscar o ID do cliente, encontrando o ID ele automaticamente preenche os campos e assim permite modificar os dados do cliente. Até ai, sem problemas. 

Acontece que gostaria de incluir, alternativamente, uma busca pelo nome completo do cliente. Infelizmente, o nome do cliente e o sobrenome necessariamente tem que ficar em colunas separadas e não encontrei uma forma de realizar a busca em ambas as colunas. Resumindo o que estou tentando fazer: 

Usuário insere na textbox o nome e sobrenome do cliente -> VBA procura as informações tanto na coluna "Nome", quanto na coluna "Sobrenome", caso encontre, preencha o restante do formulário.

 

Vou deixar abaixo o código que fiz até agora, peço o auxílio dos amigos. 

Como podem ver, eu coloquei como Range a partir de onde que está o Nome "B2", mas não encontrei uma forma de buscar ao mesmo tempo o Sobrenome que fica a partir de "C2"

Private Sub cmd_nome_but_Click()

Dim intervalo As Range
Dim texto As String
Dim buscador As String
Dim pesquisa
Dim mensagem

buscador = txt_buscanome
Sheets("Cadastro PF").Select
Set intervalo = Range("B2:O500")

On Error GoTo Erro

pesquisa = Application.WorksheetFunction.VLookup(buscador, intervalo, 1, False)
pesquisa1 = Application.WorksheetFunction.VLookup(buscador, intervalo, 2, False)
pesquisa2 = Application.WorksheetFunction.VLookup(buscador, intervalo, 3, False)
pesquisa3 = Application.WorksheetFunction.VLookup(buscador, intervalo, 4, False)
pesquisa4 = Application.WorksheetFunction.VLookup(buscador, intervalo, 5, False)
pesquisa5 = Application.WorksheetFunction.VLookup(buscador, intervalo, 6, False)
pesquisa6 = Application.WorksheetFunction.VLookup(buscador, intervalo, 7, False)
pesquisa7 = Application.WorksheetFunction.VLookup(buscador, intervalo, 8, False)
pesquisa8 = Application.WorksheetFunction.VLookup(buscador, intervalo, 9, False)
pesquisa9 = Application.WorksheetFunction.VLookup(buscador, intervalo, 10, False)
pesquisa10 = Application.WorksheetFunction.VLookup(buscador, intervalo, 11, False)
pesquisa11 = Application.WorksheetFunction.VLookup(buscador, intervalo, 12, False)
pesquisa12 = Application.WorksheetFunction.VLookup(buscador, intervalo, 13, False)

txt_nome = pesquisa
txt_sobrenome = pesquisa1
cmb_sex = pesquisa2
cmb_estadoc = pesquisa3
txt_end = pesquisa4
txt_bairro = pesquisa5
txt_UF = pesquisa6
txt_cidade = pesquisa7
txt_CEP = pesquisa8
txt_tel = pesquisa9
txt_identidade = pesquisa10
txt_CPF = pesquisa11
txt_email = pesquisa12

Exit Sub
Erro:
texto = "Nome não encontrado!"

mensagem = MsgBox(texto, vbOKOnly, vbInformation)

 

Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148894
    • Total Posts
      644966
×
×
  • Create New...