Página 1 de 1

Comparar colunas e atualizar ou adicionar dados.

Enviado: 06 Nov 2020 às 01:22
por gmsinfo
Boa noite pessoal,

Creio que o titulo ficou confuso mas o que eu quero uma ajudinha para conseguir fazer pois não consegui usando o gravador de macro é o seguinte.

Tenho 2 sheets que vão da coluna A até a coluna AA, sendo a sheet Original e a sheet Atualizados, a coluna A de ambas tem um código que quero comparar.

Quando encontrar na Sheet Original o mesmo código que na sheet Atualizados, quero atualizar todas as colunas respectivas de B até AA da sheet Original pegando os dados da sheet Atualizados.

E quando o código existir na Sheet Atualizados e não existir na sheet Original eu quero inserir o código na sheet Original e suas outras respectivas colunas de B até AA.

Segue em anexo um exemplo.

Re: Comparar colunas e atualizar ou adicionar dados.

Enviado: 06 Nov 2020 às 11:27
por osvaldomp
Experimente:
Código: Selecionar todos
Sub ReplicaDados()
 Dim Cód As Range
  Application.ScreenUpdating = False
  Set Cód = Sheets("Original").[A:A].Find(Cells(ActiveCell.Row, 1), lookat:=xlWhole)
  If Not Cód Is Nothing Then
   Cells(ActiveCell.Row, 2).Resize(, 26).Copy Cód.Offset(, 1)
  Else: Cells(ActiveCell.Row, 1).Resize(, 27).Copy Sheets("Original").Cells(Rows.Count, 1).End(3)(2)
  End If
End Sub
funcionamento - na planilha Atualizados selecione qualquer célula do registro que você deseja atualizar/adicionar e rode o código. Ex: se quiser atualizar/adicionar o registro que corresponde ao Código 75, localizado em A12, então selecione qualquer célula da linha 12 e rode o código.

Re: Comparar colunas e atualizar ou adicionar dados.

Enviado: 08 Nov 2020 às 21:47
por gmsinfo
osvaldomp escreveu: 06 Nov 2020 às 11:27 Experimente:
Código: Selecionar todos
Sub ReplicaDados()
 Dim Cód As Range
  Application.ScreenUpdating = False
  Set Cód = Sheets("Original").[A:A].Find(Cells(ActiveCell.Row, 1), lookat:=xlWhole)
  If Not Cód Is Nothing Then
   Cells(ActiveCell.Row, 2).Resize(, 26).Copy Cód.Offset(, 1)
  Else: Cells(ActiveCell.Row, 1).Resize(, 27).Copy Sheets("Original").Cells(Rows.Count, 1).End(3)(2)
  End If
End Sub
funcionamento - na planilha Atualizados selecione qualquer célula do registro que você deseja atualizar/adicionar e rode o código. Ex: se quiser atualizar/adicionar o registro que corresponde ao Código 75, localizado em A12, então selecione qualquer célula da linha 12 e rode o código.
Poderia me explicar o código? tentei por ele aqui no exemplo e não obtive resultado, é preciso ativar alguma referencia?

Re: Comparar colunas e atualizar ou adicionar dados.

Enviado: 09 Nov 2020 às 07:16
por osvaldomp
gmsinfo escreveu: 08 Nov 2020 às 21:47 ... tentei por ele aqui no exemplo e não obtive resultado ...
Informe com exatidão tudo o que você fez, notadamente onde instalou uma cópia do código e o que fez para executá-lo.

dica - para responder clique em +Resposta, localizado abaixo da última postagem, só clique em Responder com Citação se necessário.