1

Я пытаюсь выровнять строки двух разных таблиц в столбце, чтобы отсутствующие строки отображались как пустые строки в каждой из таблиц. Так, например, если у меня есть следующие таблицы:

    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

И я хочу, чтобы он показал мне, какие столбцы являются общими в первом поле, а какие нет, мои итоговые таблицы должны выглядеть следующим образом:

    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

Как я могу добиться этого с помощью Excel?

Тед

1 ответ1

1

Если две ваши таблицы были на одном листе, начиная с A1 для таблицы 1 и продолжая к столбцу C (C6 в вашем примере), E1 для таблицы 2 продолжая к столбцу G (g6 в вашем примере), то этот код сортировки массива создает дампы, которые вы разработали вывод в новую таблицу, начиная с I1

НТН

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .