Vba: как подсчитать количество строк в диапазоне
Вы можете использовать следующий базовый синтаксис для подсчета количества строк в диапазоне в Excel с помощью VBA:
SubCountRows ()
Range(" E2 ") = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub
В этом конкретном примере подсчитывается количество строк в столбце A, а затем присваивается результат ячейке E2 .
Если вместо этого вы хотите отобразить количество строк в окне сообщения, вы можете использовать следующий синтаксис:
SubCountRows ()
'Create variable to store number of rows
Dim row_count As Integer
'Calculate number of rows in range
row_count = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
'Display the result
MsgBox " Rows in Column A: " & row_count
End Sub
В следующих примерах показано, как использовать каждый из этих методов на практике со следующим набором данных в Excel, содержащим имена баскетболистов из трех разных команд:
Пример 1. Подсчет строк в диапазоне с помощью VBA и отображение результатов в ячейке
Предположим, мы хотим посчитать количество строк в столбце А и отобразить результаты в определенной ячейке.
Для этого мы можем создать следующий макрос:
SubCountRows ()
Range(" E2 ") = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что ячейка E2 содержит значение 9 .
Это говорит нам о том, что в столбце A есть 9 строк со значениями.
Пример 2. Подсчет строк в диапазоне с помощью VBA и отображение результатов в окне сообщения.
Предположим, вместо этого мы хотим подсчитать количество строк в столбце A и отобразить результаты в окне сообщения.
Для этого мы можем создать следующий макрос:
SubCountRows ()
'Create variable to store number of rows
Dim row_count As Integer
'Calculate number of rows in range
row_count = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
'Display the result
MsgBox " Rows in Column A: " & row_count
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В окне сообщения сообщается, что в столбце A есть 9 строк со значениями.
Обратите внимание, что в этом примере мы рассчитали количество строк во всем столбце A, используя A:A в качестве диапазона.
Однако если вместо этого вы хотите посчитать количество строк со значениями в определенном диапазоне, вы можете ввести A2:A9 (или любой другой интересующий вас диапазон).
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как написать функции СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИФС
VBA: как писать функции СУММЕСЛИ и СУММЕСЛИ
VBA: как писать функции COUNTIF и COUNTIFS