none
Macro localização e substituição de linha com informações RRS feed

  • Pergunta

  • Boa tarde.

    Preciso da ajuda de vocês para construir uma macro no excel com duas abas, onde na aba 1 consta uma linha com informações que desejo localizar na aba 2 (lista de cadastros) e substituir pelas informações que constam na linha específica da aba 1.

    No caso ele, vai usar um código comum aos dois para localizar e depois vai substituir a linha inteira na aba 2 por essa da aba 1.

    Funcionaria como uma função de edição, ou seja, as informações já constam na aba 2, mas devido a necessidade de alterar alguma informação conforme já estará na aba 1, a macro encontra o código comum aos dois e substitui a linha encontrada na aba 2 pela linha da aba 1.

    Caso não esteja claro, me pergunta que tento esclarecer mais.

    Muito obrigado a quem conseguir ajudar.

    terça-feira, 26 de dezembro de 2017 20:59

Respostas

  • Sub LocalizarSubstituir()
        
        Dim linha1, linha2 As Long
        
        linha1 = 2
        
        linha2 = 2
        
        While ThisWorkbook.Sheets("Planilha2").Cells(linha2, 1).Value <> ""
            
            If ThisWorkbook.Sheets("Planilha2").Cells(linha2, 1).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 1).Value Then
                
                ThisWorkbook.Sheets("Planilha2").Cells(linha2, 2).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 2).Value
                ThisWorkbook.Sheets("Planilha2").Cells(linha2, 3).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 3).Value
                Exit Sub
            End If
            
            linha2 = linha2 + 1
        Wend
        
        
    End Sub
    


    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 26 de dezembro de 2017 21:42
    • Marcado como Resposta Igor_R_ sexta-feira, 5 de janeiro de 2018 13:13
    terça-feira, 26 de dezembro de 2017 21:42

Todas as Respostas

  • Sub LocalizarSubstituir()
        
        Dim linha1, linha2 As Long
        
        linha1 = 2
        
        linha2 = 2
        
        While ThisWorkbook.Sheets("Planilha2").Cells(linha2, 1).Value <> ""
            
            If ThisWorkbook.Sheets("Planilha2").Cells(linha2, 1).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 1).Value Then
                
                ThisWorkbook.Sheets("Planilha2").Cells(linha2, 2).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 2).Value
                ThisWorkbook.Sheets("Planilha2").Cells(linha2, 3).Value = ThisWorkbook.Sheets("Planilha1").Cells(linha1, 3).Value
                Exit Sub
            End If
            
            linha2 = linha2 + 1
        Wend
        
        
    End Sub
    


    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 26 de dezembro de 2017 21:42
    • Marcado como Resposta Igor_R_ sexta-feira, 5 de janeiro de 2018 13:13
    terça-feira, 26 de dezembro de 2017 21:42
  • https://drive.google.com/file/d/1mKzt0B8BX3VcakIMFsKlkSxE8Vk9DaIS/view?usp=sharing

    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 26 de dezembro de 2017 21:43
    terça-feira, 26 de dezembro de 2017 21:43
  • https://www.youtube.com/watch?v=8iMRIi1geAM

    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 26 de dezembro de 2017 22:18
    terça-feira, 26 de dezembro de 2017 22:18
  • Anderson, valeu pela ajuda, fiz o teste aqui e funcionou. Vou tentar adaptar a planilha que tenho e dou um retorno aqui pra vocês.
    sexta-feira, 5 de janeiro de 2018 13:15