Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#60256
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.
Você não está autorizado a ver ou baixar esse anexo.
#60274
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.
#60359
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?
#60363
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.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord