Как записать значение в ячейку внутри таблицы, используя значения строк / столбцов? - PullRequest
0 голосов
/ 18 января 2019

Я работаю с VBA всего пару часов :). Я создаю трекер тренировок. У меня есть таблица, которая уже заполнена, но я хочу обновить пару ячеек одним нажатием кнопки. Большинство постов, которые я здесь нашел, посвящены добавлению новых строк / столбцов, но это не то, что я собираюсь сделать.

Я пробовал что-то вроде ...

tbl = Sheets("Workouts").ListObjects("tbl_Workouts")

tbl.Offset(TodaysRow,FirstExerciseCol + 5*ColCount).Value = NewValue

Очевидно, вам всем этот синтаксис запрещен.

Как правило, если я хочу записать значение в строку x, столбец y этой таблицы, как это сделать?

1 Ответ

0 голосов
/ 18 января 2019

A ListObject не имеет свойства Offset; Range делает.


Возможно использовать DataBodyRange, что

возвращает объект Range, представляющий диапазон значений, исключая строку заголовка, в таблице.

Пример записи в строку x и столбец y таблицы (без использования Offset):

Sub TestMyTable()
    Dim tbl As ListObject
    Set tbl = Sheets("Workouts").ListObjects("tbl_Workouts")

    Dim x As Long, y As Long
    x = 1
    y = 1

    tbl.DataBodyRange(x, y).Value = 1 ' or tbl.DataBodyRange.Cells(x, y)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...