Можно ли записать это утверждение VBA в одну строку? - PullRequest
1 голос
/ 29 июня 2019

Зная строку в таблице Excel, как я могу ссылаться на диапазон этой строки в одной инструкции, такой как ячейки (3,2), на ячейки (3,6) таблицы в одной инструкции?

Найти строку в таблице:

lStoreTableRow = Application.Match(Data.Cells(lDataRow, 1), Settings.Range("tblSite[Site]"), 0)

В настоящее время для возврата 3 ячеек мне нужно 3 строки:

BBT.Cells(lBBTRow, 11) = Application.Index(Settings.Range("tblSite[Store]"), lStoreTableRow)    'Storename
BBT.Cells(lBBTRow, 12) = Application.Index(Settings.Range("tblSite[Brand]"), lStoreTableRow)  'Brand
BBT.Cells(lBBTRow, 13) = Application.Index(Settings.Range("tblSite[Type]"), lStoreTableRow)    'Type`

Как я могу ссылаться на все три ячейки в одной строке таблицы (это не вся строка таблицы)?

BBT.Range(BBT.Cells(lBBTRow, 11), BBT.Cells(lBBTRow, 13)) = ???

1 Ответ

1 голос
/ 30 июня 2019

Я также предлагаю следующее:

  • Получить первую исходную ячейку по Range.Cells()
  • Resize это до 3 столбцов шириной
  • Назначить все Range.Value (необходим одинаковый размер диапазона источника и назначения)
BBT.Cells(lBBTRow, 11).Resize(1, 3).Value = _
    Settings.Range("tblSite[Store]").Cells(lStoreTableRow).Resize(1, 3).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...