COMO BUSCAR UM CADASTRO PELO NOME E FONE DO CLIENT
                    Olá, to com uma duvida que é o seguinte, tenho uma planilha em que na primeira linha contem o nome da operadora e na segunda linha contem dados do tipo telefone nome valor etc. E 50 linhas mais para baixo tem nome de outra operadora e com os mesmos dados Telefone nome valor etc (Essas 50 linhas, são as linhas que são feitas o cadastro do cliente), e 50 linhas mais pra baixo já tem outro e assim enfim.
E queria tentar fazer o seguinte na minha tela de pesquisa, queria selecionar num campo o nome da Operadora e em uma caixa de texto colocar o número do telefone do cliente, sem que quando eu for buscar não procure na planilha toda, apenas nas 50 linhas daquela Operadora, por exemplo, Tal pessoa cadastrou 6 clientes cada um com Telefone diferente, e queria fazer com que na minha tela de Pesquisa eu selecione essa Tal operadora e numa caixa de texto eu digitasse o telefone do cliente que quero buscar os dados, tentei fazer com uma caixa de combinação ou caixa de listagem e não consegui, alguem pode ajudar ?
Conforme imagem tentei Selecionar o nome da Operadora no combobox e dps digitar o número de telefone, e os restos dos campos o vba retornava os dados pra mim, mais nau consegui :/ Kkk Kkk
            E queria tentar fazer o seguinte na minha tela de pesquisa, queria selecionar num campo o nome da Operadora e em uma caixa de texto colocar o número do telefone do cliente, sem que quando eu for buscar não procure na planilha toda, apenas nas 50 linhas daquela Operadora, por exemplo, Tal pessoa cadastrou 6 clientes cada um com Telefone diferente, e queria fazer com que na minha tela de Pesquisa eu selecione essa Tal operadora e numa caixa de texto eu digitasse o telefone do cliente que quero buscar os dados, tentei fazer com uma caixa de combinação ou caixa de listagem e não consegui, alguem pode ajudar ?
Conforme imagem tentei Selecionar o nome da Operadora no combobox e dps digitar o número de telefone, e os restos dos campos o vba retornava os dados pra mim, mais nau consegui :/ Kkk Kkk
                    Desculpe mas não consegui entender o teu problema.
Tu quer fazer uma busca com dois parâmetros (operadora e telefone). é isso?
Posta tua planilha aqui pra eu dar uma olhada que código tu ta usando hoje.
            Tu quer fazer uma busca com dois parâmetros (operadora e telefone). é isso?
Posta tua planilha aqui pra eu dar uma olhada que código tu ta usando hoje.
Citação::
Desculpe mas não consegui entender o teu problema.
Tu quer fazer uma busca com dois parâmetros (operadora e telefone). é isso?
Posta tua planilha aqui pra eu dar uma olhada que código tu ta usando hoje.
Isso, ao selecionar o nome da operadora, quero retornar aqueles dados que contem nas linhas daquela Operadora pelo número do telefone para o vba.
Na primeira imagem que mandei, o nome que esta no campo Azul é a Operadora, e que ao Selecionar ela no Combobox ou caixa de listagem, eu pesquise o numero de telefone que esta ali e retorne os dados pro vba.
Como mando minha planilha pra você ?
Esse é o codigo que uso para pesquisar, eu uso esse codigo em uma outra planilha que funciona so que ela não tem essa função que quero de Pesquisar os dados por Operadora e Telefone.
Private Sub Bpesquisar_Click()
If Combobox_operadoras = [Ô][Ô] Then
MsgBox [Ô]Selecione a Operadora![Ô], vbInformation, [Ô]Pesquisar Relatorio[Ô]
End If
[ô]Verificar se foi digitado um nome na primeira caixa de texto
If txtteleuni.Text = [Ô][Ô] Then
MsgBox [Ô]Digite o Telefone/Unidade Consumidora![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
txtteleuni.SetFocus
Exit Sub
End If
With Worksheets([Ô]Banco[Ô]).Range([Ô]A:A[Ô])
Set c = .Find(txtteleuni.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
txtteleuni.Value = c.Value
txtoperadora.Value = c.Offset(0, 1).Value
txtautorizante.Value = c.Offset(0, 2).Value
txtvalor.Value = c.Offset(0, 3).Value
txtdata.Value = c.Offset(0, 4).Value
txtargumento.Value = c.Offset(0, 5).Value
Else
[ô]Exibe a mensagem, apaga o campo e seta o campo para nova pesquisa
MsgBox [Ô]Cliente não localizado![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
limpapesquisar
txtteleuni.SetFocus
End If
End With
End Sub
                    David fica meio complicado de não procurar na planilha toda,pois para achar qualquer dado a planilha inteira deverá ser varrida.
meu conselho a principio, desculpe estou com meu cérebro a apenas 98% da capacidade, colunas com operadora, numero,nome do cliente, assim fica mais fácil, pois separar por linha é estranho.
Você poderia também criar planilhas por operadora.
            meu conselho a principio, desculpe estou com meu cérebro a apenas 98% da capacidade, colunas com operadora, numero,nome do cliente, assim fica mais fácil, pois separar por linha é estranho.
Você poderia também criar planilhas por operadora.
                    David, coloca tua planilha em um arquivo ZIP e anexa ela aqui no fórum. 
Acho que entendi o que tu quer, mas preciso da planilha para testar.
            Acho que entendi o que tu quer, mas preciso da planilha para testar.
                    Testa o seguinte código
              Private Sub Bpesquisar_Click()
	[ô]Verificar se alguma Operadora foi selecionada
	If Combobox_operadoras = [Ô][Ô] Then
		MsgBox [Ô]Selecione a Operadora![Ô], vbInformation, [Ô]Pesquisar Relatorio[Ô]
	End If
	[ô]Verificar se foi digitado um nome na primeira caixa de texto	
	If txtteleuni.Text = [Ô][Ô] Then
		MsgBox [Ô]Digite o Telefone/Unidade Consumidora![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
		txtteleuni.SetFocus
		Exit Sub
	End If
	With Worksheets([Ô]Banco[Ô]).Range([Ô]A:A[Ô])
		[ô]
		Set c = .Find(txtteleuni.Value, LookIn:=xlValues, LookAt:=xlPart)
		[ô]
		[ô]Verifica se encontrou algo
		If Not c Is Nothing Then
			[ô]Guarda o primeiro resultado para evitar Loop eterno
			Set primeiroResultado = c
			[ô]
			Do
				[ô]Verifica se é um telefone da Operadora selecionada
				If c.Offset(0,1).Value = Combobox_operadoras.Text Then
					[ô]
					txtoperadora.Value = c.Offset(0, 1).Value
					txtautorizante.Value = c.Offset(0, 2).Value
					txtvalor.Value = c.Offset(0, 3).Value
					txtdata.Value = c.Offset(0, 4).Value
					txtargumento.Value = c.Offset(0, 5).Value
					[ô]
					[ô]Se encontrou o que procurava, sai do Do
					Exit Do
					[ô]
				End If 
			
				c = .FindNext(c)
			Loop While c <> primeiroResultado
			[ô]
		Else
			[ô]Exibe a mensagem, apaga o campo e seta o campo para nova pesquisa
			MsgBox [Ô]Cliente não localizado![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
			limpapesquisar
			txtteleuni.SetFocus
		End If 
		[ô]
	End With
	[ô]
End Sub 
                Citação::
Testa o seguinte códigoPrivate Sub Bpesquisar_Click()
[ô]Verificar se alguma Operadora foi selecionada
If Combobox_operadoras = [Ô][Ô] Then
MsgBox [Ô]Selecione a Operadora![Ô], vbInformation, [Ô]Pesquisar Relatorio[Ô]
End If
[ô]Verificar se foi digitado um nome na primeira caixa de texto
If txtteleuni.Text = [Ô][Ô] Then
MsgBox [Ô]Digite o Telefone/Unidade Consumidora![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
txtteleuni.SetFocus
Exit Sub
End If
With Worksheets([Ô]Banco[Ô]).Range([Ô]A:A[Ô])
[ô]
Set c = .Find(txtteleuni.Value, LookIn:=xlValues, LookAt:=xlPart)
[ô]
[ô]Verifica se encontrou algo
If Not c Is Nothing Then
[ô]Guarda o primeiro resultado para evitar Loop eterno
Set primeiroResultado = c
[ô]
Do
[ô]Verifica se é um telefone da Operadora selecionada
If c.Offset(0,1).Value = Combobox_operadoras.Text Then
[ô]
txtoperadora.Value = c.Offset(0, 1).Value
txtautorizante.Value = c.Offset(0, 2).Value
txtvalor.Value = c.Offset(0, 3).Value
txtdata.Value = c.Offset(0, 4).Value
txtargumento.Value = c.Offset(0, 5).Value
[ô]
[ô]Se encontrou o que procurava, sai do Do
Exit Do
[ô]
End If
c = .FindNext(c)
Loop While c <> primeiroResultado
[ô]
Else
[ô]Exibe a mensagem, apaga o campo e seta o campo para nova pesquisa
MsgBox [Ô]Cliente não localizado![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
limpapesquisar
txtteleuni.SetFocus
End If
[ô]
End With
[ô]
End Sub
Cara, não sei o que fiz aqui mais ta funcionando, tirei o Combbox, e deixei assim, consegui entender mais ou menos, mais dai não conseguiria selecionar o nome da Operadora e sim escreve-la mais ja vale Kkk Kkk
Vlw Marcelo e ASHKATCHUP
 
With Worksheets([Ô]Banco[Ô]).Range([Ô]A:A[Ô])
Set c = .Find(txtteleuni.Value, LookIn:=xlValues, LookAt:=xlPart)
    With Worksheets([Ô]Banco[Ô]).Range([Ô]B:B[Ô])
    Set c = .Find(txtoperadora.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
  
  txtoperadora.Value = c.Offset(0, 0).Value
  txtautorizante.Value = c.Offset(0, 1).Value
  txtvalor.Value = c.Offset(0, 2).Value
  txtdata.Value = c.Offset(0, 3).Value
  txtargumento.Value = c.Offset(0, 4).Value
Else
    [ô]Exibe a mensagem, apaga o campo e seta o campo para nova pesquisa
    MsgBox [Ô]Cliente não localizado![Ô], vbInformation, [Ô]Pesquisar Relatorio![Ô]
    limpapesquisar
    txtteleuni.SetFocus
End If
         End With
         End With
     End With
    End With
End With
End Sub
  
                
                        Tópico encerrado , respostas não são mais permitidas