Home Excel - Dicas Microsoft Excel VBA Excel VBA - Compara Excel planilha vba compara ítens em duas colunas e lista nao comuns

Excel planilha vba compara ítens em duas colunas e lista nao comuns

E-mail Imprimir PDF

Saberexcel - site das macros

Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), compara lista existente na coluna(A) com a lista na colunad(B), e
retorna uma lista com os números da Lista(coluna(A)), sem os ítens contidos na Coluna(B).
No final, na conclusão da macro, inserí uma fórmula que conta os números comparados com os números relacionados.


Sub relacionar_itens_que_falta()

    Dim a, b, c As Integer
   
    Dim vLista1 As Dictionary
    Dim vLista2 As Dictionary
    Dim vLista3 As New Collection
    Dim vListaItem As Variant
    Dim vCelula1, vCelula2 As Range

    Set vLista1 = New Dictionary
    Set vLista2 = New Dictionary
   
    [resultado].Value = ""
   
    a = Cells(Rows.Count, "A").End(xlUp).Row
   
    For Each vCelula1 In Range("A1:A" & a)
        With
vLista1
            .CompareMode = BinaryCompare
            .Add CStr(vCelula1.Value), CStr(vCelula1.Value)
        End With
    Next
   
    b = Cells(Rows.Count, "B").End(xlUp).Row
   
    For Each vCelula2 In Range("B1:B" & b)
        With
vLista2
            .CompareMode = BinaryCompare
            .Add CStr(vCelula2.Value), CStr(vCelula2.Value)
        End With
    Next
   
    For Each vListaItem In
vLista1
        If Not vLista2.Exists(vListaItem) Then
               On Error Resume Next
               vLista3.Add CStr(vListaItem), CStr(vListaItem)
            On Error GoTo 0
        End If
    Next
   
    c = 1
   
    For Each vListaItem In
vLista3
        Cells(c, "C") =
vListaItem
        c = c + 1
    Next
'essa linha de código abaixo insere uma fórmula que conta os valores da coluna(B) e coluna(C), - concatenando em uma mensagem.
    Range("G2").FormulaR1C1 = _
        "=""Macro executada [ ""&COUNTA(resultado)&"" ] números relacionados na coluna(C), sem os [ ""&COUNTA(R[-1]C[-5]:R[28]C[-5])&"" ]  da coluna(B)"""
    Range("K19").Select
End Sub



Aprenda tudo sobre o Alicativo Microsoft Excel VBA(Visual Basic Application), sozinho, praticando com os produtos didáticos SaberExcel


   Baixe o exemplo de planilha contendo o procedimento acima
vba compara lista colunas retorna lista sem comuns (28.4 KB 2011-02-17 19:46:03)

Última atualização em Qua, 10 de Agosto de 2011 08:22  

Comentários  

 
# 03/01/2013 13:25
Adorei essa macro...é uma pena que ela não funcione e o "arquivo" colocado para download de exemplo não existe aparece diversos erros, onde o primeiro é um erro de compilação "O tipo definido pelo usuário não foi definido" o office 2007 não entende "Dictionary" como um objeto válido, se vocês conhecerem alguma solução...

'//==================='
Prezado Valdenor,
obrigado pelo seu comentário,
Esta planilha que voce esta tentando acessar, está disponível
para Registrados, caso queira registrar é extremamente simples
somente usuario e email válido e senha.
Voce ainda não se cadastrou no site por isso não consegue acessar o arquivo. Mas estou lhe enviando via email..
Fique com Deus, paz, saúde, harmonia e Alegria de viver.
Expedito Marcondes.
Responder | Responder com citação | Citação
 
 
# Expedito Marcondes 03/01/2013 13:59
ARQUIVO MICROSOFT EXCEL VBA COMPARA DADOS COLUNAS E RETORNA EM DADOS COMUNS.
'- - - - - - - - - - - - - - - - - - - -
Prezado Valdenor, boa tarde,
obrigado pelo seu contato,
Valdenor, esse arquivo pede registro, um cadastro simples para acessá-lo
faça seu registro no site, é bem simples somente usuario e senha,
e baixe o arquivo desejado.
A propósito, enviei a planilha para seu email, esta funcionando perfeitamente, quanto ao excel 2007 existem bugs, ainda, se possível
instale o 2010 está sem os bugs do 2007
Fique com Deus, paz, saúde, harmonia e alegria de Viver.
Responder | Responder com citação | Citação
 

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

Pesquisa Google SaberExcel

Publicidade Google

Publicidade

Rastreamento Correios

Digite o número do SEDEX conforme o exemplo:
Correios do Brasil

Assinatura SaberExcel

Google Associados

Depoimentos

Visitantes SaberExcel

Excel VBA Estudos®
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoje1616
mod_vvisit_counterOntem5672
mod_vvisit_counterEsta Semana11747
mod_vvisit_counterSemana passada36487
mod_vvisit_counterEsse mês25476
mod_vvisit_counterMês passado153723
mod_vvisit_counterTodos10448305
Aprenda MS Excel VBA

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA