Как да броим редове с VBA в Excel (5 подхода)

  • Споделя Това
Hugh West

Днес ще ви покажа как можете да броите редове с VBA в Excel от всеки набор от данни. Ще ви покажа как можете да преброите редове от определен диапазон, от избран диапазон, като отговаряте на определен критерий, като отговаряте на определена текстова стойност и като изключите празните клетки.

Изтегляне на работна тетрадка за практика

Преброяване на редове с 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 

Бележки:

  • Този код създава Macro наречен Count_Rows .
  • Сайтът 3. редът от кода съдържа посочения диапазон " B4:C13″. Искам да преброя броя на редовете в този диапазон.
  • Използвате своя.

Стъпка 4:

Запишете работната книга като Работна книга с макроси на Excel .

Стъпка 5:

➤ Върнете се в работния лист и натиснете ALT+F8 на клавиатурата.

➤ Диалогов прозорец, наречен Macro ще се отвори. Изберете Count_Rows ( Името на Макро) и щракнете върху Изпълнявайте .

Стъпка 6:

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

Кликнете върху ОК за да излезете.

Прочетете още: 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 код за преброяване на общия брой редове, които отговарят на определен критерий.

Например, нека създадем Macro която ще отчете броя на учениците, получили оценки под 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 код за преброяване на броя на редовете, които съдържат определена текстова стойност.

Вижте този нов набор от данни.

Имаме Рекорди за книги на някои книги от книжарница, наречена Martin Bookstore.

Нека създадем Macro която ще преброи броя на книгите с определен текст от този набор от данни.

Стъпките също са същите като Метод 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 и щракнете върху Изпълнявайте .

⧪ An Поле за въвеждане ще се появи съобщение, което ще ви помоли да въведете конкретната стойност на текста, която искате да съответства.

За целите на този пример го въведох като "история" .

Накрая ще получите поле за съобщение, в което ще видите общия брой редове, които съдържат конкретния текст ( 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 ( Марки в Tes t).

⧪ След това натиснете ALT+F8 , изберете Count_Rows_with_Blank_Cells и щракнете върху Изпълнявайте .

Ще се появи поле със съобщение, в което ще видите общия брой редове без празните клетки ( 7 в този случай.)

Заключение

Използвайки тези методи, можете да преброите редове с VBA от набор от данни в Excel, отговарящи на различни условия. Имате ли някакви проблеми? Не се колебайте да ни попитате.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.