VBA COUNTA | Как да използвам функцията за работен лист COUNTA в Excel VBA?

Функция на работен лист COUNTA в Excel VBA

В по-ранната ни статия „Excel COUNTA“ видяхме как да използваме функцията COUNT, за да преброим числовите стойности от обхвата на стойностите. Какво ще кажете за преброяване на всички стойности в диапазона от клетки? Да, можем да преброим и това. За да преброим всички стойности на клетките в диапазона от клетки, трябва да използваме формулата „COUNTA“ в Excel VBA. В тази статия ще ви покажем как да използвате функцията COUNTA във VBA, за да преброите всички стойности на клетките в предоставения диапазон.

Примери за функцията COUNTA във VBA

Една от истините е, че функцията “COUNTA” не е функция на VBA. Знам, че въпросът ви е, ако не е функция на VBA, тогава как да я използваме? Нищо притеснение, въпреки че не е функция на VBA, все пак можем да я използваме под клас на функция на работния лист при кодиране на VBA.

Можете да изтеглите този шаблон на VBA COUNTA Excel тук - VBA COUNTA шаблон на Excel

Добре, нека напишем кода, за да приложим excel VBA COUNTA.

Стъпка 1: Създайте име на подпроцедура.

Стъпка 2: Сега първо решете къде ще съхраняваме резултата от функцията VBA COUNTA. В този пример искам да съхраня резултата в клетка C2. Така че моят код ще бъде Range (“C2”). Стойност.

Код:

 Sub Counta_Example1 () Диапазон ("C2"). Стойност = Край Sub 

Стъпка 3: В клетка C2 се нуждаем от стойността на функцията VBA COUNTA. Така че, за да приложите функцията excel VBA COUNTA, позволява първо да приложите клас функция на работен лист.

Код:

 Sub Counta_Example1 () Обхват ("C2"). Стойност = Sub End за работа 

Стъпка 4: След прилагане на функционалния клас на работния лист изберете формулата COUNTA, като поставите точка.

Код:

 Sub Counta_Example1 () Диапазон ("C2"). Стойност = WorksheetFunction.Count Край Sub 

Стъпка 5: Сега трябва да предоставим диапазона от клетки, които да бъдат преброени. В този пример трябва да преброим диапазона от клетки от А1 до А11. Затова доставете клетките, като използвате обекта VBA RANGE.

Код:

 Sub Counta_Example1 () Диапазон ("C2"). Стойност = WorksheetFunction.CountA (Range ("A1: A11")) End Sub 

Добре, нека пуснем кода, за да получим резултата в клетка C2.

И така, същият резултат се връща и от VBA COUNTA.

По този начин можем да използваме COUNTA, за да преброим непразните или непразни клетки от предоставения диапазон.

Кодиране с променливи

VBA променливите са ключът към изграждането на проект. Сега за същите данни можем да декларираме променливи VBA и да стигнем до резултата.

За пример вижте кода по-долу.

Код:

 Sub Counta_Example2 () Dim CountaRange As Range Dim CountaResultCell As Range Set CountaRange = Range ("A1: A11") Set CountaResultCell = Range ("C2") CountaResultCell = WorksheetFunction.CountA (CountaRange) End Sub 

Нека да обясним горния код сега.

Първо декларирах променливата “CountaRange” като диапазон, който да се позовава на диапазона от стойности.

 Затъмнете CountaRange As Range

След това зададох препратката като диапазон А1 на A11.

 Задайте CountaRange = диапазон ("A1: A11")

Втората променлива е за препратка към клетката с резултат COUNTA.

 Затъмнете CountaResultCell As Range

За тази променлива съм задал клетката като C2.

 Задайте CountaResultCell = диапазон ("C2")

Сега, както обикновено, приложих функцията COUNTA, използвайки променливи вместо твърдо кодирани диапазони. Сега вижте стария код и този VBA код.

Код 1:

Код 2:

In code 1 we have Range C2, in Code 2 we have the variable name “CountaResultCell”. Here the variable “CountaResultCell” set reference as C2 cell. So this variable is C2 cell now.

In code 1 COUNTA function range is A1 to A11, in code 2 it is variable called “CountaRange”. This variable holds a reference to the range A1 to A11.

This is what is the difference between old code and code with variables.

So, the COUNTA function helps us to count all the non-empty cells from the supplied range irrespective of the data it has.