Amigos,
Criei, com ajuda de alguma pesquisa, a seguinte macro de busca:
Private Sub Localizar_Click()
Worksheets("Relação").Unprotect Password:="secobr"
Dim busca As Range
Dim PrimeiraBusca As String
Dim wsr As Worksheet
Dim msg As String
Set wsr = Worksheets("Relação")
wsr.Select
With Worksheets("Relação").Range("TabRelação[nome]")
Set busca = .Find(Caixa_de_procura.Value)
If Not busca Is Nothing Then
Range("e1").Value = busca.Value
Worksheets("Pesquisa").Range("c4").Value = Range("f1").Value
PrimeiraBusca = busca.Address
Do
Set busca = .FindNext(busca)
busca.Activate
Range("e1").Value = busca.Value
Worksheets("Pesquisa").Range("c4").Value = Range("f1").Value
Loop While Not busca Is Nothing And busca.Address <> PrimeiraBusca
Else
msg = "Beneficiário não encontrado!"
MsgBox msg, vbCritical + vbOKOnly
Caixa_de_procura.Value = ""
Caixa_de_procura.SetFocus
End If
End With
Set busca = Nothing
Worksheets("Relação").Protect Password:="secobr", UserInterfaceOnly:=True
End Sub"
Basicamente, quero que ela encontre nomes em uma lista. Adicionalmente, quero que ela copie o nome encontrado pra uma célula (e1), para que esse valor seja usado em outra planilha, pois está atrelado a um PROCV que me traz alguns valores.
Quando eu depuro a macro, funciona perfeitamente, inclusive fazendo as seleções (ativações). Porém, quando eu rodo a macro de verdade, ela só seleciona o primeiro valor e, ao clicar no botão LOCALIZAR novamente, não seleciona os nomes seguinte (exemplo: não seleciona - não ativa - o segundo João).
O que há de errado?
Grato.
Postado : 07/11/2016 11:36 am