bEbEr Postado Maio 16, 2007 Denunciar Share Postado Maio 16, 2007 Galera.. estou com um probleminha..seguinte.. tenho uma tabela com alguns nomes e outra é onde eu digito uma parte do nome do cliente e aparece o nome inteiro. so que o que esta acontecendo é que ele busca o um outro nome.ANGELA TECIA SOARES SENAARANY FERNANDES SOARES SAMPAIOARIANE CARVALHO MOREIRA SANTANAARLINDO MAYCON CAVALCANTE DE JESUSC.L.DA SILVA SALESRENATO MACEDOIf Target.Column = 2 ThenIf Target.Value = "" Then Me.Range("B" & Target.Row).Value = "" Else Set busca = Sheets(1).Cells.Find(Target.Text) If Not busca Is Nothing Then Me.Range("B" & Target.Row).Value = Sheets(1).Range("B" & busca.Row).Text Me.Range("T" & Target.Row).Value = Sheets(1).Range("C" & busca.Row).Text Me.Range("U" & Target.Row).Value = Sheets(1).Range("D" & busca.Row).Text Me.Range("V" & Target.Row).Value = Sheets(1).Range("E" & busca.Row).Text Me.Range("G" & Target.Row).Value = "=F" & Target.Row & "" Me.Range("J" & Target.Row).Value = "=I" & Target.Row & "" Me.Range("K" & Target.Row).Value = "=IF(C" & Target.Row & "=E" & Target.Row & ",""S"",""N"")" Me.Range("M" & Target.Row).Value = "=C" & Target.Row & "+M" & Target.Row - 1 & "" Me.Range("N" & Target.Row).Value = "=C" & Target.Row & "-E" & Target.Row & "+N" & Target.Row - 1 & "" Me.Range("P" & Target.Row).Value = "=C" & Target.Row & "*L" & Target.Row & "" Me.Range("que" & Target.Row).Value = "=P" & Target.Row & "-O" & Target.Row & "+que" & Target.Row - 1 & "" Me.Range("S" & Target.Row).Value = "=D" & Target.Row & "+S" & Target.Row - 1 & "" Else Me.Range("B" & Target.Row).Value = "-" End If End If End Ifquando eu digito "RENATO" e dou um enter.. que é para aparecer RENATO MACEDO ele aparece ARIANE CARVALHO MOREIRA SANTANA.queria sabe o porque disso.valeeeuabraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 17, 2007 Denunciar Share Postado Maio 17, 2007 Você *não* está usando o objeto "busca". Ele é uma referência à célula que foi encontrada.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bEbEr Postado Maio 17, 2007 Autor Denunciar Share Postado Maio 17, 2007 mas então,como faço pra buscar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Sir Postado Agosto 21, 2007 Denunciar Share Postado Agosto 21, 2007 use a macro assim:a1 - digite a parte do nome que quer buscar - e rode a macro b1:b500 - tabela de nomes completos - a2-a11 - Lista valores encontrados, se mais de 10 nomes mostra mensagem Sub buscarpartenome()alvo = Range("a1").Valuedestino = 2 ' Primeira célula de Destino A2If alvo = "" Or destino = 2 Then Range("a2:a11").Clear 'se valor a buscar for vazio ou iniciando limpe de a2:a11With Worksheets(2).Range("b1:b500") ' usando plan2 range b1:b5oo para os dados Set c = .Find(alvo, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do Range("a" & destino).Value = c.Value ' Preenche valor encontrado a partir de a2 até a11 se existir destino = destino + 1 'incrementa destino para proxima linha If destino > 10 And alvo <> "" Then 'se achar mais que 10 exibe mensagem MsgBox "Foram encontrados mais de 10." & (Chr(13) & Chr(10)) & Chr(10) & " Seja mais específico!" End End If Set c = .FindNext© 'continua procurando Loop While Not c Is Nothing And c.Address <> firstAddress End IfEnd WithEnd Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Sir Postado Setembro 25, 2007 Denunciar Share Postado Setembro 25, 2007 Considerei os dados na segunda plan, não esqueça de desabilitar eventos no inicio da macro e ativar no final senão fica em loop infinito. Qualquer inserção de dados na coluna b da plan1 executa o código. Quanto ao Ariane aparecer quando digita re é pelo fato de ter re em Moreira se digitar mais um pedacinho do nome dá certo.Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Application.EnableEvents = False If Target.Column = 2 Then If Target.Value = "" Then Me.Range("B" & Target.Row).Value = "" End Else Set busca = Sheets(2).Cells.Find(Target.Text) If Not busca Is Nothing Then Me.Range("B" & Target.Row).Value = Sheets(2).Range("B" & busca.Row).Text Me.Range("T" & Target.Row).Value = Sheets(2).Range("C" & busca.Row).Text Me.Range("U" & Target.Row).Value = Sheets(2).Range("D" & busca.Row).Text Me.Range("V" & Target.Row).Value = Sheets(2).Range("E" & busca.Row).Text Me.Range("G" & Target.Row).Value = "=F" & Target.Row & "" Me.Range("J" & Target.Row).Value = "=I" & Target.Row & "" Me.Range("K" & Target.Row).Value = "=IF(C" & Target.Row & "=E" & Target.Row & ",""S"",""N"")" Me.Range("M" & Target.Row).Value = "=C" & Target.Row & "+M" & Target.Row - 1 & "" Me.Range("N" & Target.Row).Value = "=C" & Target.Row & "-E" & Target.Row & "+N" & Target.Row - 1 & "" Me.Range("P" & Target.Row).Value = "=C" & Target.Row & "*L" & Target.Row & "" Me.Range("Q" & Target.Row).Value = "=P" & Target.Row & "-O" & Target.Row & "+Q" & Target.Row - 1 & "" Me.Range("S" & Target.Row).Value = "=D" & Target.Row & "+S" & Target.Row - 1 & "" Else Me.Range("B" & Target.Row).Value = "-" End If End If End If Application.EnableEvents = True End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
bEbEr
Galera.. estou com um probleminha..
seguinte.. tenho uma tabela com alguns nomes e outra é onde eu digito uma parte do nome do cliente e aparece o nome inteiro. so que o que esta acontecendo é que ele busca o um outro nome.
ANGELA TECIA SOARES SENA
ARANY FERNANDES SOARES SAMPAIO
ARIANE CARVALHO MOREIRA SANTANA
ARLINDO MAYCON CAVALCANTE DE JESUS
C.L.DA SILVA SALES
RENATO MACEDO
quando eu digito "RENATO" e dou um enter.. que é para aparecer RENATO MACEDO ele aparece ARIANE CARVALHO MOREIRA SANTANA.
queria sabe o porque disso.
valeeeu
abraço!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.