Notifications
Clear all

Comparar Colunas

5 Posts
1 Usuários
0 Reactions
1,296 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde pessoal,

Vamos supor que eu tenha 2 colunas ( A e B )

Gostaria de ter uma idéia:
Vamos supor que todos os valores em A são iguais aos valores em B.
Sendo assim, vamos supor que modifiquei a célula "A50", por exemplo.
Ao fechar a planilha gostaria que um macro verificasse se houve uma diferença entre as duas colunas, ou seja, ele verá que A50 é diferente de B50 e apresentará um MsgBox.

Estou tentando isso desde as 9h da manhã.

Caso alguém tenha uma dica. Seria muito bem-vinda!

Agradeço!

 
Postado : 04/10/2010 10:28 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Cara da sim!
coloca na coluna C a formula:

Se(A1=B1;"";"Diferente") ' e arrasta até em baixo

ai em outra célula oculta pode ser vc faz um cont.se(C:C;"Diferente"), aqui você vai ter a quantidade de alterações que foram feitas.

Ai vai precisar usar um pouco de vba ou no evento WORKBOOK_BEFORECLOSE ou Change para aparecer a msgbox:

Em casa faço um exemplo.

 
Postado : 04/10/2010 1:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


A sugestão do Caio é muito boa... e seria necessário apenas procurar "Diferente" numa coluna.

De qualquer forma, por exemplo, no VBAProject, em EstaPasta_de_trabalho:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

i = 2
j = Sheets("Plan1").Range("A65536").End(xlUp).Row

Do While i <= j

If Sheets("Plan1").Cells(i, 1) = Sheets("Plan1").Cells(i, 2) Then
i = i + 1
Else
MsgBox ("Erro na linha " & i)
Cancel = True
Exit Sub
End If

Loop

End Sub

 
Postado : 04/10/2010 3:41 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Acho que isso ai ajudaa!!!

 
Postado : 04/10/2010 6:46 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio e Edson,

Agradeço pela ajuda.
Quebrei tanto a cabeça, mas está aí (com a ajuda de vocês).

Apenas complementando, quando adicionei no meu script, pediu para definir as variáveis i e j, acabei acrescentando:

Dim i As Long
Dim j As Long

Obrigado novamente!

 
Postado : 05/10/2010 5:39 am