Введіть формули в діапазон комірок за допомогою макросів VBA

Зміст

Ось як за допомогою макросу заповнити діапазон клітинок за обраною вами формулою

Скопіювавши або використовуючи функцію автозаповнення, Excel пропонує вам безліч варіантів перенесення формул з комірки в діапазон комірок. Але як це зробити за допомогою макросу?

Це особливо корисно, якщо ви хочете автоматично створювати таблиці або списки за допомогою макросу. Тут вам потрібен спосіб заповнити клітинки формулами.

Наступний малюнок показує список номерів підприємств. Ви хочете додати функції суми до стовпця D цього списку, за допомогою яких додаються значення зі стовпців A, B і C.

Для виконання цієї роботи використовуйте макрос VBA. Спочатку відкрийте книгу, до якої потрібно включити макрос. Потім натисніть комбінацію клавіш ALT F11, щоб запустити редактор VBA. Потім виберіть функцію ВСТАВИТИ - МОДУЛЬ. Потім введіть такий макрос:

Sub SummenPerMakro ()
Dim Cell As Range
Dim Nr As Long
Для кожної клітинки в ActiveSheet.Range ("d2: d10")
Ні = клітинка. Рядок
Cell.FormulaLocal = "= SUM (A" & Nr & ": C" & Nr & ")"
Наступна клітина
End Sub

Marko обробляє діапазон комірок D2: D10 на активному аркуші. Клітини обводяться по клітині за клітиною. Макрос використовує властивість FORMULALOCAL для введення формули суми в кожну з цих комірок.

У цій формулі додані області коригуються в кожному рядку. У рядку 2 це A2: C2, у рядку 3 це A3: C3 тощо.

Формула робить це, використовуючи змінну NR для запиту поточного номера рядка в циклі за допомогою властивості ROW. Потім макрос поступово складає формулу суми з окремих компонентів тексту.

Наступний малюнок показує результат після запуску макросу. Для початку скористайтеся комбінацією клавіш ALT F8 в Excel і виберіть макрос SUMMENPERMAKRO.

Є й інші способи виконати роботу за допомогою макросу. Одним з варіантів є використання макросу для введення формули лише в одну клітинку, а потім її копіювання, щоб Excel міг самостійно коригувати посилання.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave