Как использовать функцию промежуточного итога в vba (с примерами)
Вы можете использовать функцию ПРОМЕЖУТОЧНЫЙ ИТОГ в Excel для расчета общей статистики только для видимых ячеек на листе.
Вы можете использовать следующий базовый синтаксис в VBA для использования функции ПРОМЕЖУТОЧНЫЙ ИТОГО:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
В этом конкретном примере вычисляет сумму значений в видимых ячейках диапазона B2:B11 и отображает результат в ячейке A16 .
Обратите внимание, что первый аргумент метода Subtotal указывает используемый метод агрегирования, где:
- 1 : СРЕДНИЙ
- 2 : АККАУНТ
- 3 : АККАУНТ
- 4 : МАКСИМАЛЬНЫЙ
- 5 : МИНИМУМ
- 6 : ПРОДУКТ
- 7 : Стандартное отклонение
- 8 : Стандартное отклонение
- 9 : СУММА
- 10 : ВАР
- 11 : ВАРП
В следующем примере показано, как на практике использовать метод Промежуточный итог в VBA.
Пример: Как использовать промежуточный итог в VBA
Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:
Теперь предположим, что мы применяем фильтр, чтобы показывать только те строки, где команда равна A или C:
Мы можем создать следующий макрос для расчета суммы видимых ячеек в столбце точек и отображения результатов в ячейке A16 :
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка A16 содержит значение 168 .
Это говорит нам о том, что сумма ячеек, видимых в столбце точек, равна 168.
Мы также можем изменить значение первого аргумента метода Промежуточный итог , чтобы вычислить другую метрику.
Например, мы можем использовать значение 1 , чтобы вместо этого вычислить среднее значение видимых ячеек в столбце точек:
Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка A16 содержит значение 24 .
Это говорит нам о том, что среднее число ячеек, видимых в столбце точек, равно 24.
Примечание . Полную документацию по методу VBA Subtotal можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как добавить значения в диапазон
VBA: Как рассчитать среднее значение диапазона
VBA: как подсчитать количество строк в диапазоне