ActiveCell.FormulaR1C1 VBA Excel: описание и применение


В языке VBA (Visual Basic for Applications) для работы с таблицами Excel используется функция ActiveCell.FormulaR1C1. Она позволяет получить или установить формулу ячейки в формате R1C1, который отличается от привычного формата адресов в Excel.

Формат R1C1 представляет собой относительную адресацию ячеек. Вместо использования буквенно-цифровых комбинаций (например, A1, B2) в формате R1C1 используются числа, указывающие смещение ячейки относительно текущей ячейки. При этом R обозначает смещение по строкам, а C – смещение по столбцам.

Функция ActiveCell.FormulaR1C1 может быть полезной при автоматическом заполнении ячеек в таблице или при создании сложных формул с помощью VBA. Она позволяет оперировать формулами ячеек в программном коде, обрабатывать их, изменять значения и т.д.

Например, для установки формулы ячейки в формате R1C1 с помощью функции ActiveCell.FormulaR1C1 можно использовать следующий код:

ActiveSheet.Range("A1").FormulaR1C1 = "=R[1]C[1]+R[2]C[2]"

В данном примере формула ячейки А1 будет равна сумме значений ячейки со смещением на одну строку и один столбец относительно текущей ячейки (R[1]C[1]), и значения ячейки со смещением на две строки и два столбца относительно текущей ячейки (R[2]C[2]).

Функции ActiveCell.FormulaR1C1 в VBA Excel: основные сведения

Функция ActiveCell.FormulaR1C1 имеет два параметра: формула и ссылка на ячейку. Формула задает вычислительное выражение для ячейки, а ссылка на ячейку указывает, для какой ячейки будет применяться формула. Относительные ссылки в формуле будут рассчитываться относительно указанной ячейки.

Преимущество использования функции ActiveCell.FormulaR1C1 заключается в удобстве работы с формулами, особенно когда необходимо множество ячеек с формулами, и когда нужно изменять ссылки на ячейки относительно текущей позиции.

ПараметрОписание
ФормулаВычислительное выражение для ячейки.
Ссылка на ячейкуСсылка на ячейку, для которой будет применяться формула.

Пример использования функции ActiveCell.FormulaR1C1:

Sub Пример()ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"End Sub

В данном примере функция ActiveCell.FormulaR1C1 будет установлена для активной ячейки и будет содержать формулу «=SUM(R[-2]C:R[-1]C)», которая будет суммировать данные двух ячеек выше текущей ячейки.

Использование функции ActiveCell.FormulaR1C1 позволяет гибко работать с формулами в VBA Excel, упрощая процесс работы с ссылками на ячейки и их относительными позициями.

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

Вам также может понравиться