Как использовать функцию счетз в vba (с примерами)
Вы можете использовать метод CountA в VBA для подсчета количества непустых ячеек в определенном диапазоне.
Вот распространенный способ использования этого метода на практике:
SubCountARange ()
Range(" C1 ") = WorksheetFunction.CountA(Range(" A1:A10 "))
End Sub
В этом конкретном примере подсчитывается количество непустых ячеек в диапазоне A1:A10 и отображается результат в ячейке C1 .
Если вместо этого вы хотите отобразить количество непустых ячеек в окне сообщения, вы можете использовать следующий синтаксис:
SubCountARange ()
'Create variable to hold results of CountA
Dim counta As Single
'Calculate number of non-empty cells in range
counta = WorksheetFunction.CountA(Range(" A1:A10 "))
'Display the result
MsgBox " Number of Non-Empty Cells in Range: " & counta
End Sub
Следующие примеры показывают, как использовать каждый из этих методов на практике со следующим столбцом значений в Excel:
Пример 1. Подсчет непустых ячеек в диапазоне и отображение результатов в ячейке.
Предположим, мы хотим посчитать количество непустых ячеек в диапазоне A1:A10 и отобразить результаты в конкретной ячейке.
Для этого мы можем создать следующий макрос:
SubCountARange ()
Range(" C1 ") = WorksheetFunction.CountA(Range(" A1:A10 "))
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка C1 содержит значение 7 .
Это говорит нам о том, что в диапазоне A1:A10 есть 7 непустых ячеек.
Пример 2. Подсчет непустых ячеек в диапазоне и отображение результатов в окне сообщения.
Предположим, вместо этого мы хотим подсчитать количество непустых ячеек в диапазоне A1:A10 и отобразить результаты в окне сообщения.
Для этого мы можем создать следующий макрос:
SubCountARange ()
'Create variable to hold results of CountA
Dim counta As Single
'Calculate number of non-empty cells in range
counta = WorksheetFunction.CountA(Range(" A1:A10 "))
'Display the result
MsgBox " Number of Non-Empty Cells in Range: " & counta
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В окне сообщения сообщается, что в диапазоне A1:A10 есть 7 непустых ячеек.
Обратите внимание: если вместо этого вы хотите подсчитать количество непустых ячеек во всем столбце, вместо этого вы можете ввести A:A .
Это подсчитает количество непустых ячеек во всем столбце A.
Примечание . Полную документацию по методу VBA CountA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как написать функции СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИ
VBA: как писать функции СУММЕСЛИ и СУММЕСЛИ
VBA: как писать функции COUNTIF и COUNTIFS