Как сделать сдвиг по столбцу в формуле Excel с помощью VBA

Рейтинг: 0Ответов: 2Опубликовано: 31.03.2023

Пример:

в ячейке "A1" содержится формула "=A2+A4+A6"

Мне необходимо, с помощью VBA, в ячейку B1 поместить эту формулу но с литерой "B". Есть ли способ?

Единственное что-то похожее нашел в сети:

With Range("A1")
.Formula = "=SUM(" & .DirectPrecedents.Offset(0,1).Address(0, 0) & ")"
End With

Это не совсем то, но я мог бы это приспособить, если бы работало. Выдает ошибку о том что не найдено ни одной подходящей ячейки.

Ответы

▲ 0

Разобрался, возможно кому то пригодится.

Range(from_cell_address).AutoFill Destination:=Range(address_text), Type:=xlFillDefault

где from_cell_address - адрес ячейки содержащей формулу,

а address_text интервал необходимый для заполнения

вот как это выглядит у меня

Range("A1").AutoFill Destination:=Range("A1:B1"), Type:=xlFillDefault

Результатом будет ответ на вопрос.

▲ 0
Sub test1()
    Range("A1").Copy
    Range("B1").PasteSpecial Paste:=xlPasteFormulas
End Sub

Если формат одинаков или не важен, достаточно копировать ячейку полностью:

Sub test(): Range("A1").Copy Range("B1"): End Sub