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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *