макрос vba для создания столбца справа от таблицы - PullRequest
0 голосов
/ 21 января 2020

В настоящее время у меня есть таблица с именем AA_Table, она находится на листе с именем AA. Мой текущий код VBA создает столбец рядом с таблицей, в настоящее время это работает нормально. Однако это зависит от ячейки, поэтому, если мой AA_Table имеет другое количество столбцов, то макрос не делает то, что я хочу.

Это текущий код VBA:

Sheets("AA").Select
    Range("BY1").Select
    ActiveCell.FormulaR1C1 = "Total Hours"
    Range("BY2").Select
    ActiveCell.FormulaR1C1 = _
        "my formula goes here"

Как я могу изменить этот код, чтобы он не всегда выбирал ячейку BY2, а вместо нее справа от моей AA_Table

Спасибо.

1 Ответ

1 голос
/ 21 января 2020

Лучше работать напрямую с объектом Table / ListObject:

Dim lo As ListObject, lc As ListColumn

Set lo = Sheets("Sheet1").ListObjects("myTable")

Set lc = lo.ListColumns.Add()  'append a new column

lc.Name = "MyNewName"
lc.DataBodyRange.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])"

или короче:

With Sheets("Sheet1").ListObjects("myTable").ListColumns.Add()
    .Name = "MyNewName"
    .DataBodyRange.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])"
End with
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...