Як використовувати 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 .
Оскільки ми використовували круглі дужки з R[-4]C[-2] у нашій формулі у VBA, ми зробили відносне посилання на клітинку, розташовану 4 рядками вище та 2 стовпцями ліворуч від клітинки C5 , тобто клітинкою A1 .
Примітка . Повну документацію щодо властивості VBA FormulaR1C1 можна знайти тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: проста формула для «Якщо клітинка містить»
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок