Этот пример иллюстрирует разницу между A1, R1C1 и R [1] C [1] в стиле Excel VBA.

  1. Поместите командную кнопку

на листе и добавьте следующую строку кода (A1 стиль):

Range("D4").Formula = "=B310"

Результат:

A1 Style

  1. Добавьте следующую строку кода (R1C1 стиль):

Range("D4").FormulaR1C1 = "=R3C210"

Результат:

R1C1 Style

Объяснение: ячейки D4, ссылки на ячейки В3 (строка 3, столбец 2). Это абсолютная ссылка (символ $ перед номером строки и буквы столбца).

  1. Добавьте следующую строку кода (R [1] C [1] стиль):

Range("D4").FormulaR1C1 = "=R[-1]C[-2]10"

Результат:

R[1C[1]

Стиль, название = «R [1] C [1] Стиль»]

Объяснение: ячейки D4, ссылки на ячейки В3 (одна строка выше и 2 колонки слева). Это относительная ссылка. Эта строка кода дает тот же результат, что и строки кода, используемого на этапе 1.

  1. Почему обучение по этому поводу? Поскольку ссылка: / VBA-примеры-макро-рекордер [Macro Recorder] использует свойство FormulaR1C1 (R [1] C [1] стиль). Macro Recorder создает следующие строки кода, если ввести формулу = B310 в ячейку D4.

Excel Macro Recorder Result

Объяснение: Вы можете видеть, что это тот же самый код строки используется на шаге 3.