Vba: как добавить значения в диапазон
Вы можете использовать следующий базовый синтаксис для вычисления суммы значений в диапазоне с помощью VBA:
SubSumValues ()
Range(" D2 ") = WorksheetFunction.Sum(Range(" B2:B11 "))
End Sub
В этом конкретном примере вычисляет сумму значений в диапазоне B2:B11 и присваивает результат ячейке D2 .
Если вместо этого вы хотите отобразить сумму значений в окне сообщения, вы можете использовать следующий синтаксис:
SubSumValues ()
'Create variable to store sum of values
Dim sum As Single
'Calculate sum of values in range
sum = WorksheetFunction.Sum(Range(" B2:B11 "))
'Display the result
MsgBox " Sum of Values in Range: " & sum
End Sub
В следующих примерах показано, как использовать каждый из этих методов на практике со следующим набором данных в Excel, содержащим информацию о различных баскетболистах:
Пример 1. Вычисление суммы диапазона с помощью VBA и отображение результатов в ячейке.
Предположим, мы хотим посчитать сумму значений в столбце точек и отобразить результаты в определенной ячейке.
Для этого мы можем создать следующий макрос:
SubSumValues ()
Range(" D2 ") = WorksheetFunction.Sum(Range(" B2:B11 "))
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка D2 содержит значение 245 .
Это говорит нам о том, что сумма значений в столбце точек равна 245.
Пример 2. Вычисление суммы диапазона с помощью VBA и отображение результатов в окне сообщения.
Предположим, вместо этого мы хотим вычислить сумму значений в столбце точек и отобразить результаты в окне сообщения.
Для этого мы можем создать следующий макрос:
SubSumValues ()
'Create variable to store sum of values
Dim sum As Single
'Calculate sum of values in range
sum = WorksheetFunction.Sum(Range(" B2:B11 "))
'Display the result
MsgBox " Sum of Values in Range: " & sum
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Окно сообщения сообщает нам, что сумма значений в диапазоне B2:B11 равна 245 .
Обратите внимание, что в этом примере мы вычислили сумму значений в диапазоне B2:B11 .
Однако если вместо этого вы хотите вычислить сумму значений во всем столбце, вы можете вместо этого ввести B:B .
Это вычислит сумму значений для каждой ячейки в столбце B.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как рассчитать среднее значение диапазона
VBA: как подсчитать количество строк в диапазоне
VBA: как писать функции СУММЕСЛИ и СУММЕСЛИ