Функція Excel VBA COUNTA

Можливо, ви часто використовували функції COUNT і COUNTA в Microsoft Excel. Коли COUNT фіксує всі числові значення в комірці, COUNTA фіксує всі не порожні комірки (включаючи рядки). Чи можна будь-якими способами використовувати функцію COUNTA через VBA? Абсолютно, ТАК! Ви можете використовувати функцію COUNTA через VBA як функцію робочого аркуша (оскільки це частина сімейства WorksheetFunction всередині VBA) для підрахунку не порожніх комірок через заданий діапазон робочого аркуша. Перевага функції COUNTA над функцією COUNT полягає в тому, що вона може рахувати все, що завгодно (числа, рядки, спеціальні символи, значення помилок тощо), крім порожніх комірок у заданому діапазоні, тоді як COUNT може підраховувати лише кількість комірок, що складаються з числових значень. .

Синтаксис VBA COUNTA:

Синтаксис функції VBA COUNTA показаний нижче:

Де,

Arg1 - Вказує аргумент цієї функції, який є обов'язковим і може приймати будь-яке не порожнє значення, таке як число, рядок, значення помилок (наприклад, # N / A, # DIV / 0!), Спеціальні символи тощо. необов’язково.

Ця функція може приймати максимум 30 аргументів за один виклик. Аргумент може складатися з діапазону комірок або одного значення, яке вводиться вручну.

Як використовувати функцію COUNTA в Excel VBA?

Нижче наведено різні приклади використання функції COUNTA в Excel за допомогою коду VBA.

Ви можете завантажити цей шаблон VBA COUNTA Excel тут - Шаблон Excel VBA COUNTA

Приклад №1 - VBA COUNTA з аргументами вручну як вхідні дані

Ми побачимо, як працює функція COUNTA, коли ми надамо їй вручну аргументи в VBA. Виконайте наведені нижче дії:

Крок 1: Вставте новий модуль у Visual Basic Editor (VBE). Перейдіть на вкладку Вставка > виберіть Модуль.

Крок 2: Визначте нову підпроцедуру в нещодавно вставленому модулі, яка може містити ваш макрос.

Код:

 Sub Example_1 () Закінчення Sub 

Крок 3: Визначте, де ми хочемо зберегти висновок для функції COUNTA. Я хочу зберегти його у комірці A2 аркуша під назвою “ Приклад 1 ”. Для цього нам потрібно використовувати метод Sheets.Range в VBA. Дивіться наступний знімок екрана для довідки:

Код:

 Sub Example_1 () Аркуші ("Приклад 1"). Діапазон ("A2") Кінець Sub 

Цей фрагмент коду вибирає комірку A2 як діапазон із аркуша, названого Приклад 1.

Крок 4: Використовуйте оператор присвоєння, щоб ми могли присвоїти значення клітинці, до якої буде доступ, через код вище. Додайте об’єкт на ім'я WorksheetFunction, щоб ми могли отримати доступ до функції COUNTA під ним.

Код:

 Sub Example_1 () Аркуші ("Приклад 1"). Діапазон ("A2") = WorkheetFunction End Sub 

Крок 5: Поставте крапку (.) Після вказаного об'єкта, і ви побачите список функцій, доступних для використання під ним. Виберіть COUNTA зі списку декількох доступних функцій, який дозволяє підрахувати не порожні комірки або значення.

Крок 6: Вкажіть аргументи вручну за допомогою функції COUNTA. Аргументи: "Райнiш", "# Н / З", 1, "*", правда. Ми намагалися привести всі типи даних як аргумент до цієї функції.

Код:

 Sub Example_1 () Таблиці ("Приклад 1"). Діапазон ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) Кінець Sub 

Крок 7: Запустіть цей фрагмент коду, натиснувши кнопку F5 або Виконати і побачити вихід під коміркою A2 аркуша " Приклад 1 " в активній робочій книжці.

У цьому коді ми хочемо, щоб система підраховувала вхідні аргументи та зберігала кількість під коміркою A2 аркуша Приклад 1.

Приклад №2 - VBA COUNTA для підрахунку не порожніх клітин у заданому діапазоні

Припустимо, у мене є дані по всьому стовпцю А, і мені потрібно порахувати, які є непорожні рядки у всьому стовпці. Оскільки весь стовпець складається з більш ніж 10 рядків Lac, для мене ідеально забирає багато часу, щоб орієнтуватися на та рахувати кожну непусту клітинку. Дивіться частковий знімок екрана даних нижче.

Виконайте наступні кроки:

Крок 1: Визначте нову процедуру, яка може містити ваш макрос.

Код:

 Sub Example_2 () Кінець Sub 

Крок 2: Визначте дві нові змінні за цією під-процедурою як діапазон, використовуючи Dim . Одна змінна буде корисною для утримання діапазону вхідних стовпців аргументу, а інші змінні будуть корисними для утримання комірки там, де ми хочемо, щоб результат був підрахований.

Код:

 Sub Example_2 () Dim rng_1 As Dim Range op_cell As Range End Sub 

Тут rng_1 буде зберігати діапазон вводу для функції COUNTA. Вихід COUNTA буде зберігатися під змінною op_cell .

Крок 3: Тепер встановіть діапазон для обох змінних за допомогою властивості VBA Set. Це потрібно зробити, оскільки ми не можемо безпосередньо призначити значення змінній, визначеній як об'єкт діапазону.

Код:

 Sub Example_2 () Dim rng_1 Як діапазон Dim op_cell As Range Set rng_1 = Діапазон ("A: A") Встановити op_cell = Діапазон ("B1") Кінець Sub 

Тут змінна rng_1 була встановлена ​​в діапазон усього стовпця з ім'ям A. op_cell встановлений у комірку B1, як це була б клітина, яка містить вихід COUNTA.

Крок 4: Тепер використовуйте загальний оператор присвоєння проти змінної op_cell, щоб ми могли зберігати вихід під клітинку, встановлену на цю змінну. Це може розглядатися як ініціалізація виводу.

Код:

 Sub Example_2 () Dim rng_1 As Dim range op_cell As Range Set rng_1 = Діапазон ("A: A") Встановити op_cell = Діапазон ("B1") op_cell = Кінець Sub 

Крок 5: Використовуйте об'єкт WorksheetFunction з правого боку оператора присвоєння (це буде вираз, який буде оцінено, а значення буде збережено під коміркою, встановленою на змінну op_cell) для ініціалізації класу, до якого ми можемо отримати доступ, а також використовувати Функція COUNTA.

Код:

 Sub example_2 () Dim rng_1 As Dim range op_cell As Range Set rng_1 = Діапазон ("A: A") Встановити op_cell = Діапазон ("B1") op_cell = WorkheetFunction End Sub 

Крок 6: Як тільки ви натиснете крапку (.) Після об’єкта WorksheetFunction, ви можете отримати доступ до всіх функцій, доступних під цим класом. Перейдіть до функції COUNTA та двічі клацніть її, щоб вибрати.

Крок 7: Використовуйте змінну rng_1 як вхідний аргумент у розділі COUNTA. Отже, ця функція під класом об'єкта функції робочого аркуша може рахувати не порожні комірки, присутні в усьому стовпці А.

Код:

 Sub Example_2 () Dim rng_1 As Dim Range op_cell As Range Set rng_1 = Діапазон ("A: A") Встановити op_cell = Діапазон ("B1") op_cell = WorksheetFunction.CountA (rng_1) Кінець Sub 

Крок 8: Запустіть цей код, натиснувши кнопку F5 або Запустити, і ви можете побачити вихід, як показано нижче, у комірці B1 активного аркуша з робочої книги.

У комірці B1 ми можемо побачити число як 17. Що означає, що у колонці робочого аркуша у нас є 17 не порожніх комірок. Можливо, ви не бачите зовсім 17 через цей знімок екрана, оскільки він є частковим. Ви краще побачите робочий аркуш і перейдіть по стовпцю А.

Що потрібно пам’ятати

  • Ви можете використовувати функцію VBA COUNTA, коли вам доведеться підраховувати кількість не порожніх комірок, присутніх у заданому діапазоні.
  • COUNTA розглядає всі значення, такі як числа, рядки, значення помилок, булеві, порожній текст (“”). Однак він не вважає комірку порожньою.
  • Порожні комірки не будуть зараховані за допомогою функції COUNTA і будуть ігноровані.
  • Ви можете використовувати аргументи вручну у функції VBA COUNTA, і вона все ще працює.

Рекомендовані статті

Це посібник з функції VBA COUNTA. Тут ми обговорюємо, як використовувати функцію COUNTA в Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Як створити об’єкт колекції в VBA?
  2. Як порахувати символів в Excel?
  3. FileCopy в VBA (приклади з шаблоном Excel)
  4. Порахувати клітини з текстом у Excel | Шаблон Excel

Категорія: