Ir ao conteúdo
  • Cadastre-se

Verificar se um CONJUNTO de células são iguais em VBA


Posts recomendados

Boa tarde a todos!

 

Tenho em um documento excel, uma planilha com dois conjuntos de células

 

ConjuntoA --> A1:N24
e
ConjuntoB --> A26:N49

 

Elas são idênticas, porém, quando elas não forem idênticas, necessito partir para uma função if

Algo do tipo:

 

If Sheets("Plan1").Cells("A1:N24") = Sheets("Plan 2").Cells("A26:N49") Then
MsgBox "Conjunto A é igual ao Conjunto B"
Else:
MsgBox "Conjunto A é diferento do Conjunto B"
End If

 

Acontece que 'Sheets("Plan1").Cells("A1:N24") = Sheets("Plan 2").Cells("A26:N49")' é um argumento inválido,mas teria que ser algo semelhante, que comparassem esses dois conjuntos.

 

O que pode ter de diferente entre um conjunto e outro que acionaria a função if são:

 

- Textos diferentes (No anexo, há um texto diferente, destacado em vermelho)
- Preenchimento da célula diferente (Ex: Cor da Célula C22 do ConjuntoA é sem preenchimento e da C47 do ConjuntoB é Amarelo)

Enfim, pode parecer um pouco complicado, mas é basicamente como comparar duas células, o problema é que se tratam de várias células (Já nomeadas de "ConjuntoA" e "ConjuntoB").

 

Lembrando que tudo isso é em VBA, ou seja, quero analisar se existe diferênças entre os conjuntos,
para então, ao iniciar meu formulário, faça a função IF que mencionei no começo.

 

Tem um anexo de um exemplo com mais detalhes, se acessarem o vba deste anexo, e tentar executar, verão o erro.

 

Grato!

 

Att,

Yago Cypriano

Verificar Conjunto de Células.zip

Link para o comentário
Compartilhar em outros sites

Bom dia.

 

Possuo duas dúvidas: 

 

1. Os conjuntos sempre serão neste intervalo ("A1:N24" e "A26:N49")? Nunca mudará?

2. A comparação de uma matriz com outra matriz, desconheço. Por acaso lhe interessa um comando que irá comparar célula do conjunto A, com célula do conjunto B, até chegar a última de ambos conjuntos, e destacar (como?) as que forem diferente (ou somente uma msgbox inferindo que um conjunto é diferente do outro?)?

Link para o comentário
Compartilhar em outros sites

Os conjuntos podem mudar sim.

O ideal seria só um aviso.

Pensei no seguinte: As alterações de um conjunto e outro é manual, portanto, caso um conjunto seja alterado, o usuário deve salvar a edição, clicando em um botão. Esse botão é responsável por inserir um valor X na célula A1 (ex) e dessa forma, só vou ter que comparar se A1 tem esse valor X, se tiver, uma msgbox mealertará e perguntará se eu quero quitar essa mensage, limpando A1.

Tem uma forma melhor?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...