Как использовать два значения в последней строке таблицы, чтобы добавить строки в другую таблицу с помощью Excel vba - PullRequest
0 голосов
/ 08 февраля 2020

Я новичок в vba, и у меня возникли небольшие проблемы с выяснением этого. Не знаю, с чего начать

У меня есть две таблицы. Я просто пытаюсь найти код, который бы сказал, что если последняя строка в таблице 1 на рабочем листе 1 имеет какое-либо значение во 2-м столбце, а значение в последнем столбце больше 1, тогда возьмите значение в последнем столбце последнюю строку и добавьте столько строк в таблицу 2 на рабочем листе 2.

Я пытался искать другие сообщения с таким же типом топи c, но не мог их найти. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 февраля 2020

Попробуйте добавить это к стандартному модулю

Вы можете проверить, является ли значение последней строки последнего столбца числом. Я предполагаю, что это так.

Код:

Public Sub AddRowsToTable()

    Dim sourceTable As ListObject
    Dim targetTable As ListObject

    Set sourceTable = Range("Table1").ListObject
    Set targetTable = Range("Table2").ListObject

    Dim valueSecondCol As Variant
    Dim valueLastRowLastCol As Long

    ' Get last row, second column value
    valueSecondCol = sourceTable.ListColumns(2).DataBodyRange.Cells(sourceTable.ListRows.Count).Value

    ' Get last row, last column value
    valueLastRowLastCol = sourceTable.ListColumns(sourceTable.ListColumns.Count).DataBodyRange.Cells(sourceTable.ListRows.Count).Value

    ' Exit if it's null
    If valueSecondCol = vbNullString Then Exit Sub

    ' Add as many rows as the number in last column, last row of source table to target table
    targetTable.Resize targetTable.HeaderRowRange.Resize(targetTable.ListRows.Count + valueLastRowLastCol + 1)

End Sub

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...