Як використовувати функцію проміжних підсумків у vba (з прикладами)


Ви можете використовувати функцію SUBTOTAL в Excel, щоб обчислити загальну статистику лише для видимих клітинок на аркуші.

Для використання функції SUBTOTAL у VBA можна використовувати такий базовий синтаксис:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

У цьому конкретному прикладі обчислюється сума значень у видимих клітинках у діапазоні B2:B11 і відображається результат у клітинці A16 .

Зауважте, що перший аргумент методу Subtotal визначає метод агрегування, який слід використовувати, де:

  • 1 : СЕРЕДНІЙ
  • 2 : РАХУНОК
  • 3 : РАХУНОК
  • 4 : МАКСИМУМ
  • 5 : МІНІМУМ
  • 6 : ПРОДУКТ
  • 7 : STDEV
  • 8 : STDEVP
  • 9 : СУМА
  • 10 : VAR
  • 11 : VARP

У наступному прикладі показано, як на практиці використовувати метод Subtotal у VBA.

Приклад: як використовувати проміжний підсумок у VBA

Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:

Тепер припустімо, що ми застосуємо фільтр, щоб показати лише ті рядки, де команда дорівнює A або C:

Ми можемо створити наступний макрос для обчислення суми видимих комірок у стовпці точок і відображення результатів у комірці A16 :

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зверніть увагу, що клітинка A16 містить значення 168 .

Це говорить нам про те, що сума клітинок, видимих у стовпці балів, дорівнює 168.

Ми також можемо змінити значення першого аргументу методу Subtotal , щоб обчислити інший показник.

Наприклад, замість цього ми можемо використати значення 1 , щоб обчислити середнє значення видимих клітинок у стовпці балів:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Зверніть увагу, що клітинка A16 містить значення 24 .

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

Примітка . Ви можете знайти повну документацію для методу VBA Subtotal тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: Як додати значення в діапазон
VBA: як обчислити середнє значення діапазону
VBA: як підрахувати кількість рядків у діапазоні

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *