Bom dia!
Tenho um banco de dados de contatos na qual deve ser atualizado com novos contatos sempre que houver um evento. A contato obtido do novo evento pode já está na base de dados ou ter alterado alguma informação pessoal ou ser uma informação nova. Para diferenciar quem está ou não, resolvi pesquisar pelo email.
O que pode acontecer:
Se o email não está na lista = pinta a rosa a linha do novo contato que não está na lista.
Se já existe o email, digo para ele checar nome da pessoa, empresa e função.
Se algumas das informações não são iguais, mando ele pintar a linha a verde.
Se todas as informações forem iguais mando ele substituir a coluna da situação do evento (c, env, nenv etc) na coluna relativa ao evento no banco de dados principal.
Tentei fazer diversos códigos, mas ainda não obtive exito total. Por exemplo, ele compara, mas não pinta a linha do falso, mas sim toda planilha ou só a célula ativada pelo cursor.
Segue a linha de comandos que, provavelmente errada, faz-me sentido.
#
Sub BD_Empresas ()
Dim i as Integer
Dim comparar(A) as String
Dim comparar(C) as String
Dim comparar(C) as String
For i = 2 to 10000
If worksheets(2).cells(i,5) = worksheets(1).cell(i,5) Then
Comparar (A) = worksheets(2).cells(i,2) = worksheets(1).cell(i,2)
Comparar (B) = worksheets(2).cells(i,3) = worksheets(1).cell(i,3)
Comparar (C) = worksheets(2).cells(i,4) = worksheets(1).cell(i,4)
Elseif linhas = Selection.Row - 1 & ":" & Selection.Row =worksheets(1).cells(i,5) <> worksheets(2).cell(i,5)
Rows(linhas).Interior.ColorIndex = 7
End If
If Comparar (A) and Comparar (B) and Comparar (C) = True then
Copy worksheets(2).Cell( ) in worksheets(1).Cell( )
Elseif linhas = Selection.Row - 1 & ":" & Comparar (A) <> Comparar (B) <> Comparar (C)
Rows(linhas).Interior.ColorIndex = 3
End If
End Sub
#
Minhas principais dúvidas:
- Como comparar cada novo email com todos os valores da coluna de email do Banco de dados principal? (mesma coisa para o nome, função e empresa);
- Como pintar aquilo que exatamente deu falso?;
- Como copiar o estado da linha que exatamente deu certo?;
- Essa maneira conjunta de testar (comparar(a)=comparar(b)=comparar(c)) está correta?
Desde já, muito obrigado!
###Exemplo em anexo###
Postado : 04/05/2016 4:54 am