Notifications
Clear all

Localizar uma celula e alterar a do lado

5 Posts
2 Usuários
0 Reactions
902 Visualizações
(@vsarti)
Posts: 7
Active Member
Topic starter
 

Ola pessoal, boa tarde.

Estou com um arquivo onde preciso de uma macro para localizar um valor e alterar a célula ao lado (no caso da direita). Abaixo segue exatamente o que preciso.

1 - Localizar 81278 na coluna A e alterar a celula ao lado (da direita) para 18590/20
2 - Localizar 81362 na coluna A e alterar a celula ao lado (da direita) para 115126/250X
3 - Localizar 81054 na coluna A e alterar 3 celulas ao lado (na coluna D) para o valor 0 (zero).

Se puderem ajudar, eu agradeço.

 
Postado : 25/07/2013 12:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vsarti, teria como fornecer mais detalhes :

Serão sempre os mesmos valores a pesquisar e os valores de alteração tambem serão sempre os mesmos ?
Estes numeros a pesquisar, aparecem somente um vez ou se repetem, tendo de continuar a pesquisar até que o último seja encontrado ?

Enquanto aguardamos, de uma olhada no modelo no link abaixo referente a pesquisa, é bem simples de adaptar ao que pretende.

Function Pesquisar InputBox e TextBox
viewtopic.php?f=21&t=2877

[]s

 
Postado : 25/07/2013 1:14 pm
(@vsarti)
Posts: 7
Active Member
Topic starter
 

Mauro, obrigado.

Os valores de pesquisa e alteração sempre serão os mesmos.
A unica diferença é que esse valores de pesquisa mudam de linha conforme atualização do arquivo, por isso a necessidade de macro.

Anexei um arquivo similar ao que estou trabalhando.

 
Postado : 25/07/2013 2:22 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vsarti, primeiramente você só deve dar o Tópico como Resolvido quando ele for finalizado, e como anexou o modelo a procura de uma solução, tirei esta condição do mesmo.

Quanto a sua questão, cole as rotinas abaixo em um Modulo, execute a rotina Sub LocalizaValores() e veja se é isto oque está pretendendo, se sim, dai pode setar o tópico como Resolvido.

Dim sPesquisar

Sub LocalizaValores()

    Dim MyArray
    
    'Os valores de pesquisa e alteração sempre serão os mesmos
    MyArray = Array("81278", "81362", "81054")

    For Each sValor In MyArray
    
        Sheets("DATASUL Lista").Select
    
        With Worksheets("DATASUL Lista").Range("A:A")
            
            
            Set sPesquisar = .Find(sValor, LookIn:=xlValues, lookat:=xlWhole)
            
            If Not sPesquisar Is Nothing Then
                sPesquisar.Activate
                
                Call AlteraValores
                
            End If
        
        End With
        
    Next

End Sub


Sub AlteraValores()
    
'Os valores de alteração sempre serão os mesmos
    Select Case sPesquisar
        
        Case "81278"
            sPesquisar.Offset(0, 1).Value = "18590/20"
        
        Case "81362"
            sPesquisar.Offset(0, 1).Value = "115126/250X"
        
        Case "81054"
            sPesquisar.Offset(0, 3).Value = 0
            
        Case Else
        
    End Select

End Sub

[]s

 
Postado : 25/07/2013 6:40 pm
(@vsarti)
Posts: 7
Active Member
Topic starter
 

Mauro, muito obrigado pelas dicas.

Deu certo. Vai me ajudar muito aqui no trabalho, obrigado!!!

 
Postado : 26/07/2013 2:00 pm