Ввод формул в диапазоне ячеек с помощью макросов VBA

Содержание

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

Копируя или используя функцию автозаполнения, Excel предлагает множество вариантов переноса формул из ячейки в диапазон ячеек. Но как это сделать с помощью макроса?

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

На следующем рисунке показан список бизнес-номеров. Вы хотите добавить функции суммирования в столбец D этого списка, к которому добавляются значения из столбцов A, B и C.

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

Sub SummenPerMakro ()
Тусклая ячейка как диапазон
Dim Nr As Long
Для каждой ячейки в ActiveSheet.Range ("d2: d10")
Нет = Cell.Row
Cell.FormulaLocal = "= СУММ (A" & Nr & ": C" & Nr & ")"
Следующая ячейка
Конец подписки

Marko обрабатывает диапазон ячеек D2: D10 на активном листе. Ячейки проходят через ячейку. Макрос использует свойство FORMULALOCAL для ввода формулы суммы в каждую из этих ячеек.

В этой формуле добавляемые области корректируются в каждой строке. В строке 2 это A2: C2, в строке 3 - A3: C3 и т. Д.

Формула делает это, используя переменную NR для запроса текущего номера строки в цикле с помощью свойства ROW. Затем макрос постепенно составляет формулу суммы из отдельных текстовых компонентов.

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

Есть и другие способы выполнить эту работу с помощью макроса. Один из вариантов - использовать макрос, чтобы ввести формулу только в одну ячейку, а затем скопировать ее, чтобы Excel мог настраивать ссылки независимо.

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

wave wave wave wave wave