Boa tarde a todos!
Estou com um novo desafio e estou precisando de uma ajuda de vocês.
Tenho 2 planilhas, uma com o nome de "Abertura" e a outra com o nome de "Ongoing", as duas planilhas não 100% iguais, a planilha "Abertura" tem algumas colunas a mais que a planilha "Ongoing", mas os dados que preciso atualizar e/ou inserir entre uma planilha e a outra são iguais. Então, o que eu preciso é:
1 - Percorra todos os registros na planilha "Abertura", verificando se o valor do campo "loja" existe na planilha "Ongoing", se existir, os dados da planilha "Ongoing" serão atualizados de acordo com os dados dos mesmos campos da planilha "Abertura".
Campos tabela Abertura
Loja |
Chamado IN |
Chamado Field |
Motivo da abertura |
Func. loja |
SH/RUA |
Duração |
Abertura |
Conclusão |
Status Field |
Status TSS |
Problemas |
Solução Técnica |
Campos tabela Ongoing
Chamado IN |
Chamado Field |
Motivo da abertura |
Loja |
Abertura |
Conclusão |
Status Field |
Status TSS |
Problemas |
Solução Técnica |
OBS: Observer que na tebale "Abertura" existem mais colunas que a tabela "Ongoing", mas existem campos em comum entre as duas planilhas e são estes campos que preciso atualizar da planilha "Atualizar" para "Ongoing".
Para o item acima, eu conseguir fazer o código e está funcionando. Segue abaixo:
Sub inserir_atualizar()
Application.ScreenUpdating = False
'Rotina de checagem se existe a loja na TAB Ongoing e atualizar os dados com base na planilha Abertura
'---------------------------------------------------------------------------------------------------------------------------
Dim w_Abertura As Worksheet
Dim w_Ongoing As Worksheet
Dim loja As String
Dim linha, linha1 As Integer
Set w_Ongoing = Sheets("Ongoing")
Set w_Abertura = Sheets("Abertura")
linha = 2
Do While w_Abertura.Cells(linha, 1) <> ""
ultimalinha = w_Ongoing.Cells(Rows.Count, "A").End(xlUp).Row
j = w_Ongoing.Cells(Rows.Count, "A").End(xlUp).Row + 1
For i = 2 To ultimalinha
loja = w_Ongoing.Cells(i, 4)
If w_Abertura.Cells(linha, 1) = loja Then
w_Ongoing.Cells(i, 1) = w_Abertura.Cells(linha, 2)
w_Ongoing.Cells(i, 2) = w_Abertura.Cells(linha, 3)
w_Ongoing.Cells(i, 3) = w_Abertura.Cells(linha, 4)
w_Ongoing.Cells(i, 4) = w_Abertura.Cells(linha, 1)
w_Ongoing.Cells(i, 5) = w_Abertura.Cells(linha, 8)
w_Ongoing.Cells(i, 6) = w_Abertura.Cells(linha, 9)
w_Ongoing.Cells(i, 7) = w_Abertura.Cells(linha, 10)
w_Ongoing.Cells(i, 8) = w_Abertura.Cells(linha, 11)
w_Ongoing.Cells(i, 9) = w_Abertura.Cells(linha, 12)
w_Ongoing.Cells(i, 10) = w_Abertura.Cells(linha, 13)
linha = linha + 1
End If
Next
MsgBox "Dados atualizado com sucesso."
Loop
Application.ScreenUpdating = False
End Sub
2 - Percorra todos os registros na planilha "Abertura", verificando se o valor do campo "loja" existe na planilha "Ongoing", se não existir, será inserido uma nova linha "Ongoing" e copiar estes dados que não existem da planilha"Abertura" para planilha "Ongoing". Lembrando que as colunas da planilha "Abertura" não são totalmente iguais a planilha "Ongoing".
Obrigado!
Cordialmente;
Editado pela Moderação. Motivo: Utilize o botão Código (< >) para inserir código VBA ou Fórmulas.
Postado : 17/08/2020 12:38 pm