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

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

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

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

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

Добре, нека напишем кода, за да приложим 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 End 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

След това зададох референцията като диапазон A1 до A11.

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

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

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

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

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

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

Код 1:

Код 2:

В код 1 имаме диапазон C2. В Код 2 имаме името на променливата „CountaResultCell.“ Тук променливата “CountaResultCell” задава препратка като клетка C2. Така че тази променлива е C2 клетка сега.

В код 1 обхватът на функциите COUNTA е от A1 до A11. В правило 2 това е променлива, наречена „CountaRange“. Тази променлива съдържа препратка към диапазона от A1 до A11.

Това е разликата между стария код и кода с променливи.

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

Интересни статии...