Аналитика11 апреля 2026 г.

Формула суммы в excel с использованием vba

Автор
Ненашев А.
На чтение
2 мин
Дата обновления
19.04.2026
Срок обучения:3 месяца
MS Office Pack: Excel, Word, PowerPoint
Освоите сложные отчеты и научитесь прогнозировать, применять скрипты и писать макросы для экономии своего времени4 месяца обучения с практикой на реальных проектах- Научитесь работать с таблицами Excel и Google, визуализировать данные на практически занятиях курса- Освоите сложные отчеты и научитесь прогнозировать, применять скрипты и писать макросы для экономии своего времени- Станете использовать свое рабочее время эффективно: автоматизируете рабочие процессы
Подробнее
35 000 ₽ 100 000 ₽
2 916 ₽/мес рассрочка

Вопрос

Работа с макросом Excel, где я пытаюсь добавить значения ячеек из вышеуказанных ячеек для расчета итогов. Вот как выглядят мои данные:


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

Для cl = от 2 до 5 листов (5) .Cells (4, cl) .Formula = «= SUM (B4: B6)» Следующий cl

Это должно установить формулу для каждой ячейки в строке до 5 столбцов.
Но установите одну и ту же формулу для всех ячеек в строке, она должна меняться в зависимости от столбца. Как я могу установить формулу суммы для каждой ячейки в соответствующем столбце?

Лучший ответ

Не уверен, что понимаю ваш код. Похоже, вы печатаете в строке 4, но вы также хотите добавить строку из строки 4 в строку 6. Это создаст круговую ссылку.

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

Уловка, чтобы узнать, какую ссылку использовать:

  • Получите новый лист, введите = СУММ (B4: B6) в ячейку B3 и скопируйте вправо.
  • Затем нажмите «Файл»> «Параметры»> «Формулы» и выберите «Стиль ссылки R1C1.
  • Теперь проверьте формулы на листе. Вы увидите это: = СУММ (R [1] C: R [3] C)

Это то, что вам нужно в макросе.

Для cl = от 2 до 5 листов (5) .Cells (3, cl) .FormulaR1C1 = «= SUM (R [1] C: R [3] C)» cl следующий ответ № 1

Попробуйте что-нибудь подобное.

Для cl = от 2 до 5 ColName = Left (Cells (1, cl) .Address (False, False), 1 — (cl> 26)) Worksheets (5) .Cells (4, cl) .Formula = «= SUM («& ColName &» 4: «& ColName &» 6) «Следующий cl Ответ # 2

некоторые детали для стиля R1C1 и R [1] C [1] в формулах.
Насколько мне известно, R [1] C [1] создает относительную ссылку, а R1C1 создает абсолютную ссылку. Но имейте в виду, что числа для R [x] и C [y] смещены относительно ячейки, содержащей формулу.

Это означает, что если вы хотите показать сумму A1: B4 в C5, код должен выглядеть так:

Рабочие листы (5) .Cells (5, 3) .FormulaR1C1 = «= СУММ (R [-4] C [-2]: R [-1] C [-1])»

Если вы хотите сделать то же самое, но в итоге получите абсолютную ссылку, это будет выглядеть примерно так.

Рабочие листы (5) .Cells (5, 3) .FormulaR1C1 = «= СУММ (R1C1: R4C2)» Ответ n. 3

Вы можете использовать очень простую формулу, как показано ниже:

Sub sum_month () Sheets («13»). Активировать интервал («D2»). Формула = «= СУММ (A1 + A2 + A3)» End Sub

А затем просто щелкните и перетащите ячейку, чтобы автоматически заполнить больше строк

Ответьте n. 4

В вашем случае вы можете использовать это:

Для cl = от 2 до 5 ColName = Left (Cells (1, cl) .Address (0, 0), (Cells (1, cl) .Column Я думаю, вы можете просто обратиться к полному спектру формул, и Excel будет достаточно умен, чтобы настроить столбцы.

Без петли:

Рабочие листы (5). Ячейки (4, cl). Изменить размер (1,4). Формулы = «= СУММ (B4: B6)”

Вопрос/ответ

Для создания формулы суммы в Excel с использованием VBA можно использовать макросы. Например, чтобы установить формулу суммы для ячеек в строке, можно использовать цикл, который проходит по столбцам и устанавливает формулу для каждой ячейки. Пример кода: For cl = 2 To 5 Worksheets(5).Cells(3, cl).FormulaR1C1 = "= SUM(R[1]C:R[3]C)" Next cl.
Стиль ссылок R1C1 в Excel позволяет использовать относительные и абсолютные ссылки в формулах. R и C обозначают строки и столбцы соответственно. Например, R[1]C[1] указывает на ячейку, которая находится на одну строку ниже и на один столбец правее текущей ячейки.
Круговая ссылка возникает, когда формула ссылается на ячейку, в которой она находится. Чтобы избежать этого, убедитесь, что формула не включает текущую ячейку в диапазон суммирования. Используйте относительные ссылки, чтобы правильно указать диапазон ячеек.
Чтобы установить формулу суммы для каждого столбца, используйте цикл, который проходит по каждому столбцу и устанавливает соответствующую формулу. Например, используйте переменную ColName для определения столбца и установите формулу: Worksheets(5).Cells(4, cl).Formula = "= SUM(" & ColName & "4:" & ColName & "6)".
Абсолютные ссылки в VBA используются для указания фиксированных ячеек в формулах. Например, чтобы создать формулу с абсолютной ссылкой, используйте: Worksheets(5).Cells(5, 3).FormulaR1C1 = "= SUM(R1C1:R4C2)". Это указывает на фиксированный диапазон ячеек.
Чтобы автоматически заполнить формулы в Excel с помощью VBA, можно использовать метод перетаскивания. Например, после установки формулы в одну ячейку, можно использовать команду перетаскивания для заполнения других ячеек: Range("D2").Formula = "= SUM(A1:A3)" и затем перетащить вниз.
Чтобы настроить Excel для использования стиля ссылок R1C1, перейдите в меню "Файл" > "Параметры" > "Формулы" и выберите "Стиль ссылки R1C1". Это позволит вам использовать относительные и абсолютные ссылки в формулах более гибко.

Курсы

1065
5,0
1 отзыв
MS Office Pack: Excel, Word, PowerPoint
  • 3 месяца
  • Смешанный
  • Диплом / Сертификат
35 000 ₽100 000 ₽
2 916 ₽/мес рассрочка
-65%
Перейти на сайт
5085
5,0
3 отзыва
Курсы Excel для начинающих
  • 3 недели
  • Смешанный
  • Диплом / Сертификат
6 800 ₽
Перейти на сайт
6268
3,8
12 отзывов
Excel: от основ до анализа данных
  • c 24 февраля
  • 2 месяца
  • Смешанный
  • Диплом / Сертификат
31 900 ₽70 888 ₽
-55%
Перейти на сайт
1013
5,0
6 отзывов
Excel pro + google таблицы
  • c Invalid Date
  • 1 месяц
  • Смешанный
  • Диплом / Сертификат
15 050 ₽43 000 ₽
1 254 ₽/мес рассрочка
-65%
Перейти на сайт
456
1,0
1 отзыв
Microsoft Office: тариф PRO
  • c 12 февраля
  • 0 месяцев
50 300 ₽125 750 ₽
50 300 ₽/мес рассрочка
-60%
Перейти на сайт