Как подсчитать строки с помощью VBA в Excel (5 подходов)

  • Поделись Этим
Hugh West

Сегодня я покажу вам, как можно подсчитывать ряды с помощью VBA Я покажу вам, как можно подсчитывать строки из определенного диапазона, из выбранного диапазона, по определенному критерию, по определенному текстовому значению, а также исключая пустые ячейки.

Скачать Рабочую тетрадь для практических занятий

Подсчет строк с помощью VBA.xlsm

5 способов подсчета строк с помощью VBA в Excel

Здесь у нас есть набор данных с именами некоторых учеников и их отметками на английском языке в школе под названием Sunflower Kindergarten.

Сегодня наша цель - подсчитать общее количество строк с помощью функции код VBA .

1. использование кода VBA для подсчета строк определенного диапазона

Шаг 1:

Нажмите ALT+F11 на клавиатуре. окно VBA откроется.

Шаг 2:

Перейти к Вставка вкладка в VBA окно.

Из доступных вариантов выберите Модуль .

I

Шаг 3:

Новое окно модуля под названием "Модуль 1" откроется.

Вставить следующее VBA код в модуле.

Код:

 Sub Count_Rows() Dim rng As Range Set rng = Range("B4:C13") MsgBox rng.Rows.Count End Sub 

Примечания:

  • Этот код производит Макро под названием Count_Rows .
  • Сайт 3-й строка кода содержит указанный диапазон " B4:C13″. Я хочу подсчитать количество строк в этом диапазоне.
  • Вы используете свой один.

Шаг 4:

Сохраните рабочую книгу как Рабочая книга Excel с поддержкой макросов .

Шаг 5:

➤ Вернитесь к рабочему листу и нажмите кнопку ALT+F8 на клавиатуре.

➤ Диалоговое окно под названием Макро откроется. Выберите Count_Rows ( Имя Макро) и нажмите на Запускайте .

Шаг 6:

Вы увидите небольшое окно сообщения, показывающее количество общих строк ( 10 в данном случае).

Нажмите OK выйти.

Читать далее: Excel VBA для подсчета строк с данными

2. Запуск кода Excel VBA для подсчета строк выделенного диапазона

В предыдущем методе мы подсчитывали количество строк определенного диапазона ( B4:C13 ).

Но мы также можем использовать VBA код для подсчета количества строк в любом выбранном диапазоне по нашему желанию.

Все шаги такие же, как Метод 1 ( Шаг 1-6 ).

⧪ Только что Шаг 3 Вместо предыдущего кода вставьте этот код:

Код:

 Sub Count_Selected_Rows() Dim rng As Range Set rng = Selection MsgBox rng.Rows.Count End Sub 

Примечание:

  • Этот код создает модуль под названием Count_Selected_Rows .

⧪ И в Шаг 5 Прежде чем запускать код, сначала выберите диапазон. Здесь я выбрал весь набор данных (без Заголовки колонок ).

⧪ Затем нажмите ALT+F8 , выберите Count_Selected_Rows , и нажмите на Запускайте .

Вы получите сообщение, в котором будет показано общее количество строк в выбранном диапазоне ( 10 в данном случае).

3. Вставка кода VBA для подсчета строк с критериями в Excel

Мы также можем использовать VBA код для подсчета общего количества строк, удовлетворяющих определенному критерию.

Например, давайте создадим Макро который подсчитает количество студентов, получивших оценки менее 40.

Шаги также все те же, что и Метод 1 ( Шаг 1-6 ).

⧪ Только что Шаг 3 , изменить VBA код к этому:

Код:

 Sub Count_Rows_with_Criteria() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) <40 Then Count = Count + 1 End If Next i MsgBox Count End Sub 

Примечание:

  • Этот код создает модуль под названием Count_Rows_with_Criteria .
  • В очереди 6 мы использовали "<40" потому что это критерий, который мы используем. Вы изменяете его в соответствии с вашими потребностями.

⧪ И в Шаг 5 Перед запуском кода выберите диапазон ячеек с критериями. Здесь я выбрал только столбец C ( C4:C13 ), потому что критерий лежит там.

⧪ Затем нажмите ALT+F8 , выберите Count_Rows_with_Criteria , и нажмите на Запускайте .

Вы получите сообщение, в котором будет показано общее количество строк, удовлетворяющих вашему критерию ( 3 в данном случае).

Похожие чтения

  • Excel Подсчет видимых строк (формула и код VBA)
  • Как Excel подсчитывает строки с помощью значения (8 способов)

4. Встраивание кода VBA для подсчета строк с определенным значением текста

Вы также можете использовать VBA код для подсчета количества строк, содержащих определенное текстовое значение.

Посмотрите на этот новый набор данных.

У нас есть Книжные записи некоторых книг книжного магазина под названием "Мартин Букстор".

Давайте создадим Макро который подсчитает количество книг с определенным текстом из этого набора данных.

Шаги также все те же, что и Метод 1 ( Шаг 1-6 ).

⧪ Только что Шаг 3 , изменить VBA код к этому:

Код:

 Sub Count_Rows_with_Specific_Text() Dim Count As Integer Count = 0 Dim Text As String Text = InputBox("Введите значение текста: ") LText = LCase(Text) For i = 1 To Selection.Rows.Count Words = Split(Selection.Cells(i, 1)) For Each j In Words LWord = LCase(j) If LText = LWord Then Count = Count + 1 End If Next j Next i MsgBox Count End Sub 

Примечание:

  • Этот код создает модуль под названием Count_Rows_with_Specific_Text .

⧪ И в Шаг 5 Перед выполнением кода выделите диапазон ячеек с текстовыми значениями. Здесь я выделил диапазон B4:B13 ( Название книг ).

⧪ Затем нажмите ALT+F8 , выберите Count_Rows_with_Specific_Text , и нажмите на Запускайте .

⧪ Ан Блок ввода появится окно, в котором нужно ввести конкретное текстовое значение, которое вы хотите сопоставить.

Для данного примера я ввел его как "история" .

Наконец, вы получите окно с сообщением, показывающее общее количество строк, содержащих определенный текст ( 3 в данном случае).

Читать далее: Как подсчитать строки с помощью текста в Excel

5. подсчет строк с пустыми ячейками с помощью VBA в Excel

Наконец, мы разработаем макрос, который будет подсчитывать общее количество строк, исключая пустые ячейки из набора данных.

Посмотрите на этот новый набор данных.

У нас есть Маркс некоторых кандидатов в тесте при приеме на работу в компанию под названием APEX group.

Но, к сожалению, некоторые кандидаты не смогли явиться на тест, и на месте их оценок остались пустые клетки.

Давайте разработаем макрос, который будет подсчитывать общее количество строк, исключая пустые ячейки.

Это означает, сколько кандидатов участвовало в тестировании.

Все шаги такие же, как Метод 1 ( Шаг 1-6 ).

⧪ Только что Шаг 3 введите это VBA код вместо предыдущего:

Код:

 Sub Count_Rows_with_Blank_Cells() Dim Count As Integer Count = 0 For i = 1 To Selection.Rows.Count If Selection.Cells(i, 1) "" Then Count = Count + 1 End If Next i MsgBox Count End Sub 

Примечание:

  • Этот код создает модуль под названием Count_Rows_with_Blank_Cells .

⧪ В Шаг 5 Перед запуском кода выберите диапазон ячеек с пустыми ячейками. Здесь я выбрал диапазон C4:C13 ( Марки в тес t).

⧪ Затем нажмите ALT+F8 , выберите Count_Rows_with_Blank_Cells , и нажмите на Запускайте .

Вы получите сообщение, в котором будет показано общее количество строк без учета пустых ячеек ( 7 в данном случае).

Заключение

Используя эти методы, вы можете подсчитывать строки с VBA из набора данных в Excel, соответствующих различным условиям. У вас возникли проблемы? Не стесняйтесь спрашивать нас.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.