Функция на работен лист 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.