Mostrando tabelas com valores comuns e incomuns com o excel

1

Estou tentando alinhar as linhas de duas tabelas diferentes em uma coluna para que as linhas ausentes apareçam como linhas em branco em cada uma das tabelas. Por exemplo, se eu tiver as seguintes tabelas:

    A   4   9                   A   4   8
    B   3   7                   C   3   9
    D   4   2                   E   7   2
    F   4   2       and         F   1   3

E eu quero que ele me mostre quais colunas são comuns no primeiro campo e quais não são, minhas tabelas resultantes devem se parecer com:

    A   4   9                   A   4   8
    B   3   7                   
                                C   3   9
    D   4   2                   
                                E   7   2
    F   4   2       and         F   1   3

Como posso conseguir isso com o Excel?

Ted

    
por Flethuseo 25.09.2011 / 12:03

1 resposta

1

Se suas duas tabelas estivessem na mesma planilha, começando em A1 para a tabela 1 e prosseguindo para a coluna C (C6 em sua amostra), E1 para a tabela 2 continuando para a coluna G (g6 em sua amostra), então esse código de ordenação de matriz despeja sua saída projetada para uma nova tabela a partir de I1

hth

Sub LineEmStackEm()
    Dim X
    Dim Y
    Dim Z
    Dim lngRow As Long
    Dim lngCol As Long
    Dim lngCnt As Long
    Dim lngMiss As Long
    X = Range([a1], Cells(Rows.Count, "c").End(xlUp))
    Y = Range([e1], Cells(Rows.Count, "g").End(xlUp))
    ReDim Z(1 To 2 * UBound(Y, 1), 1 To 6)
    For lngRow = 1 To UBound(Y)
        For lngCnt = 1 To UBound(X, 2)
            Z(lngRow + lngMiss, lngCnt) = X(lngRow, lngCnt)
        Next
        If X(lngRow, 1) <> Y(lngRow, 1) Then lngMiss = lngMiss + 1
        For lngCnt = 1 To UBound(Y, 2)
            Z(lngRow + lngMiss, lngCnt + UBound(X, 2)) = Y(lngRow, lngCnt)
        Next
    Next lngRow
    [I1].Resize(UBound(Z, 1), UBound(Z, 2)) = Z
End Sub
    
por 25.09.2011 / 12:58