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

Qui, 17 de Fevereiro de 2011 18:04 Expedito Marcondes
Imprimir

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)

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