Как использовать formular1c1 в vba (с примерами)


Вы можете использовать свойство FormulaR1C1 в VBA для создания абсолютной или относительной ссылки на определенную ячейку на листе.

Существует два распространенных способа использования этого свойства:

Способ 1. Используйте формулу R1C1 для создания абсолютной ссылки.

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R1C1*20 "

End Sub

Когда вы запустите этот конкретный макрос, ячейка C5 отобразит результат ячейки в строке 1 и столбце 1 , умноженный на 20.

Способ 2. Используйте формулу R1C1, чтобы создать относительную ссылку.

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "

End Sub

Когда вы запустите этот конкретный макрос, ячейка C5 отобразит результат ячейки на 4 строки выше и 2 столбца слева от нее, умноженный на 20.

В следующих примерах показано, как использовать каждый метод на практике с листом Excel, содержащим значение 10 в ячейке A1 :

Пример 1. Используйте формулу R1C1 для создания абсолютной ссылки.

Мы можем создать следующий макрос, чтобы умножить значение ячейки в строке 1 и столбце 1 на 20 и отобразить результаты в ячейке C5 :

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R1C1*20 "

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Мы видим, что Excel использовал формулу =$A$1*20 для вычисления результата в ячейке C5 .

Поскольку мы использовали R1C1 в нашей формуле в VBA, мы сделали абсолютную ссылку на ячейку в первой строке и первом столбце, то есть на ячейку A1 .

Пример 2. Используйте формулу R1C1 для создания относительной ссылки.

Мы можем создать следующий макрос, чтобы умножить значение ячейки, которая находится на 4 строки выше и 2 столбца слева от ячейки C5 , на 20 и отобразить результаты в ячейке C5 :

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Мы видим, что Excel использовал формулу =A1*20 для вычисления результата в ячейке C5 .

Поскольку в нашей формуле в VBA мы использовали круглые скобки с R[-4]C[-2] , мы сделали относительную ссылку на ячейку, расположенную на 4 строки выше и на 2 столбца слева от ячейки C5 , которая является ячейкой A1 .

Примечание . Полную документацию по свойству VBA FormulaR1C1 можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *