Notifications
Clear all

Macro procura somente em um intervalo especifico na planilha

3 Posts
2 Usuários
0 Reactions
1,491 Visualizações
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Estimados, mais uma vez recorro aos gurus. Informo que tão somente informo aqui minhas dúvidas após intensa procura sem resposta.

Pois bem o que preciso e que este comando abaixo procure somente num intervalo especifico tipo coluna (A:A)

Sub SelectRangeDown()

Application.ScreenUpdating = False

Dim nTexto As String
Sheets("BDO").Select
nTexto = InputBox(" ")

Sheets("BDO").Select

Cells.Find(What:=nTexto, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate

'O intervalo acima procura em toda a planilha e como terei varias vezes o mesmo valor em locais diferentes quero um limitador de procura.

End Sub

 
Postado : 22/10/2014 2:49 pm
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Segue modelo que procura apenas na coluna E; veja se consegue adaptar

Sub UsoFind()
Dim Procurar As String
Dim localizado, EndPrimeiroItem
Application.ScreenUpdating = False

Procurar = InputBox("Digite a palavra a ser localizada...", "Localizar Registro")
If Procurar = "" Then Exit Sub

Sheets("Plan1").Select
With Sheets("Plan1").Range("E:E")
     
        ' Carrega a variavel de Objeto Localizado
    Set localizado = .Find(Procurar, LookIn:=xlValues, LookAt:=xlPart)  'Para localizar um texto exato na celula, mudar a propriedade para xlWhole
    ' Sempre que a variavel nao for numero ou texto, e ter que carregar algum objeto tem que usar o SET
    
    If Not localizado Is Nothing Then
        EndPrimeiroItem = localizado.Address  'guarda o endereço da célula do 1º.valor localizado
        
        Do
            'Localizado.Interior.ColorIndex = 15  'Pinta em Cinza o interior da célula
            localizado.Select ' Seleciona uma celula abaixo
            ActiveCell.Font.ColorIndex = 3 'Fonte vermelha
            ActiveCell.Font.Bold = True
            localizado.Offset(1, 0).Select
            Set localizado = .FindNext(localizado)  'Segue a procura
        Loop While Not localizado Is Nothing And localizado.Address <> EndPrimeiroItem
    
    End If

End With
End Sub

Reinaldo

 
Postado : 22/10/2014 5:09 pm
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Segue modelo que procura apenas na coluna E; veja se consegue adaptar

Sub UsoFind()
Dim Procurar As String
Dim localizado, EndPrimeiroItem
Application.ScreenUpdating = False

Procurar = InputBox("Digite a palavra a ser localizada...", "Localizar Registro")
If Procurar = "" Then Exit Sub

Sheets("Plan1").Select
With Sheets("Plan1").Range("E:E")
     
        ' Carrega a variavel de Objeto Localizado
    Set localizado = .Find(Procurar, LookIn:=xlValues, LookAt:=xlPart)  'Para localizar um texto exato na celula, mudar a propriedade para xlWhole
    ' Sempre que a variavel nao for numero ou texto, e ter que carregar algum objeto tem que usar o SET
    
    If Not localizado Is Nothing Then
        EndPrimeiroItem = localizado.Address  'guarda o endereço da célula do 1º.valor localizado
        
        Do
            'Localizado.Interior.ColorIndex = 15  'Pinta em Cinza o interior da célula
            localizado.Select ' Seleciona uma celula abaixo
            ActiveCell.Font.ColorIndex = 3 'Fonte vermelha
            ActiveCell.Font.Bold = True
            localizado.Offset(1, 0).Select
            Set localizado = .FindNext(localizado)  'Segue a procura
        Loop While Not localizado Is Nothing And localizado.Address <> EndPrimeiroItem
    
    End If

End With
End Sub

Ola bom dia!

Consegui sim, obrigado pela sua ajuda amigo, segue modelo como ficou

Sub UsoFind()

Dim Procurar As String
Dim localizado, EndPrimeiroItem
Application.ScreenUpdating = False

Procurar = InputBox("Digite a palavra a ser localizada...", "Localizar Registro")
If Procurar = "" Then Exit Sub

Sheets("Plan1").Select
With Sheets("Plan1").Range("E:E")

Set localizado = .Find(Procurar, LookIn:=xlValues, LookAt:=xlPart)

localizado.Offset(0, 0).Select

End With

End Sub

 
Postado : 23/10/2014 6:45 am