Брояч в Excel VBA

Има различни начини за броене в MS Excel. Можем да използваме вградени функции като Count, CountIf, CountA, CountBlank, които са в Excel. Но тези функции няма да работят правилно във VBA и също имат ограничения. За да преодолеем това, имаме много функции и команди и процеса, чрез който можем да изпълним VBA Counter. VBA Counter се използва за броене на клетката, преброяване на съдържанието на клетката и също така се използва като таймер за преброяване, когато можем да приложим график за измерване на всяка задача.

С помощта на VBA Counter можем да преброим клетките и техните цветови индекси. Този цветен индекс може също да оцвети шрифта или цвета на фона на клетката, както и смели стойности.

Как да създадете брояч в Excel VBA?

По-долу са различните примери за създаване на брояч в Excel с помощта на VBA код.

Можете да изтеглите този шаблон на VBA Counter Excel тук - шаблон на VBA Counter Excel

VBA Counter - Пример №1

Имаме някои данни от случайни числа в колона А. Всички споменати стойности са случайни и нямат връзка, като например в последователност или поредица. Сега с помощта на VBA Counter процеса ще преброим най-горните и най-долните стойности на числата и ще получим изхода в клетка D2 и D3.

Ще броим броя и едновременно с тях ще ги оцветим според цветния текст в клетка C2 и C3.

За това следвайте стъпките по-долу:

Стъпка 1: Създайте бутон Command, който е достъпен в раздела Developer под Active X Control в менюто Insert, както е показано по-долу.

Стъпка 2: Сега създайте бутон, както е показано по-долу.

Стъпка 3: Щракнете вдясно върху създадения бутон и отидете на опцията Properties .

Стъпка 4: Променете надписа на бутона, който по подразбиране е CommandButton2 на всяко желано име. Тук сме го променили в „ Преброяване на клетки по стойност “.

Стъпка 5: След като сте готови, щракнете с десния бутон върху създадения бутон и изберете опцията Преглед на кода, за да получите прозореца на VBA.

Visual Basic Editor се отваря сега и по подразбиране вече е създадена подпрограма за командния бутон.

Код:

 Private Sub CommandButton2_Click () End Sub 

Стъпка 6: Сега трябва да декларираме 3 променливи. Декларирайте първата променлива, където ще съхраняваме числата и втората променлива, чрез която ще използваме брояча като цели числа, както е показано по-долу. И 3 -тата променлива ще бъде толкова дълга, за да брои числата, съхранявани във всеки ред.

Код:

 Част Sub Sub CommandButton2_Click () Dim A As Integer Dim Count като цяло число Dim LRow as Long End Sub 

Стъпка 7: Сега ще изберем първата клетка на листа, която е А1 като наш диапазон. Оттук ще избираме клетките, докато има номера.

Код:

 Част Sub Sub CommandButton2_Click () Dim A As Integer Dim Count като цяло число Dim LRow as Long LRow = обхват („A1“). CurrentRegion.End (xlDown) .Row End Sub 

Стъпка 8: Сега ще отворим и запишем условието в цикъл за, ако клетката има стойност по-голяма от 10, тогава цветът на шрифта на клетката ще бъде променен на Жълт, а за стойността по-малка от 10, цветът на шрифта на клетката ще бъде променен на Синьо с цветовите индекси съответно 44 и 55 .

Код:

 Private Sub CommandButton2_Click () Dim A като Integer Dim Count като цяло число Dim LRow as Long LRow = обхват ("A1"). CurrentRegion.End (xlDown). 10 След това пребройте = пребройте + 1 клетки (A, 1) .ont.ColorIndex = 44 други клетки (A, 1) .Font.ColorIndex = 55 End, ако Next A End Sub 

Стъпка 9: Сега, за да видим изхода на стойностите от клетка А1 до края, ще изберем клетките, както беше обсъдено по-горе от кода по-долу.

Код:

 Private Sub CommandButton2_Click () Dim A като Integer Dim Count като цяло число Dim LRow as Long LRow = обхват ("A1"). CurrentRegion.End (xlDown). 10 След това пребройте = пребройте + 1 клетки (A, 1) .Font.ColorIndex = 44 Else Cells (A, 1) .Font.ColorIndex = 55 Край, ако Next A клетки (2, 4) .Value = Брой клетки (3, 4) .Value = 12 - Count End Sub 

Стъпка 10: Сега стартирайте кода, като натиснете бутона.

Ще видим, клетките, съдържащи числа, по-малки от 10, са подчертани в син цвят. А този по-голям от 10 е подчертан в жълто.

VBA брояч - пример №2

В този пример ще използваме VBA Counter, за да измерим времето, през което можем да измерим количеството, което правим. Да предположим, че ако трябва да измерим времето, необходимо за изпълнение на някоя задача, тогава процесът, който ще виждаме тук, е най-добрият за изпълнение.

За това следвайте стъпките по-долу:

Стъпка 1: Създайте 2 раздела с всякаква форма от менюто Вмъкване на опции за форми, както е показано по-долу. Избираме Правоъгълник: Ъглите на Rounder .

Стъпка 2: Създайте 2 бутона и ги именувайте като Старт и Нулиране, с които ще стартираме таймера и изчистваме времето.

Стъпка 3: Сега отидете на VBA и отворете модул от менюто Вмъкване.

Стъпка 4: В това напишете подкатегорията Старт таймер, както е показано по-долу.

Код:

 Sub Start () Край Sub 

Стъпка 5: Обмислете дума за следващия ред, като NextRow, където ще изберем работния лист, в който искаме да приложим кода. Ето, нашият лист е Sheet2 . И тук ще броим редовете от клетка +1, която е клетка A2, докато имаме курсорен файл стойността.

Код:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Клетки (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub 

Стъпка 6: Сега, за да влезем в следващия ред, ще използваме формат на върха, където 1 в скобата е за Y-ос.

Код:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Клетки (Rows.Count, 1) .End (xlUp) .Row + 1 клетки (NextRow, 1) = Sub End Time Sub 

Стъпка 7: Напишете кода за нулиране под същия стартов код.

Код:

 Sub Reset () Край Sub 

Стъпка 8: Сега за нулиране ще запазим същия код като Start, но ключовата дума ще бъде променена на LastRow и премахваме +1 просто, така че да не се налага да влизаме в друг ред.

Код:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Клетки (Rows.Count, 1) .End (xlUp) .Row End Sub 

Стъпка 9: Сега, за да изчистите данните в последната клетка на колона A към първата клетка, първо изберете диапазона от клетки с функция ClearContents .

Код:

 Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Клетки (Rows.Count, 1) .End (xlUp) .Row Range ("A2: A" & lastrow) .ClearContents End Sub 

Сега затворете прозореца на VBA.

Стъпка 10: Щракнете с десния бутон върху раздела Старт и изберете опцията Присвояване на макрос .

Стъпка 11: Изберете под кодиране на старт, което направихме по-горе.

Стъпка 12: Същото направете и за бутона Reset. Задайте подкода Reset на бутона Reset и щракнете върху Ok и излезте от режима на проектиране, за да изпълните кода.

Стъпка 13: Сега първо натиснете бутона Старт . Ще получим началния час като 3:51:33.

Стъпка 14: Сега отново щракнете върху бутона "Старт" 2-3 пъти, за да получите многократно време. Ще видим, има разлика от няколко секунди във всяка итерация.

Стъпка 15: Сега след това ще тестваме бутона Reset . Кликнете върху Нулиране. Ще видим, данните вече са изчистени и готови за поредни кръгове за броене на време.

Плюсове на Excel VBA Counter

  • Много е лесно да се приложи броячът на времевите обиколки, както видяхме в пример-2.
  • VBA Counter има много типове реализация, това не се ограничава само до примерите, които видяхме.

Неща, които трябва да запомните

  • Винаги е по-добре да присвоим кода на всеки бутон, когато сме извършили 2 или повече вида код в един процес.
  • Излезте от режим на проектиране, след като присвояването и изпълнението на кода се извърши от раздела Developer.
  • Можем да създадем и брояч на време на живо, където да виждаме отброяването на времето или да гледаме времето реално.
  • Запишете макроса в макрос активиране на excel формат на файла, за да не загубим кода си.

Препоръчителни статии

Това е ръководство за VBA Counter. Тук обсъждаме как да създадете VBA Counter в Excel, използвайки VBA код, заедно с практически примери и свалящ се excel шаблон. Можете също да разгледате следната статия, за да научите повече -

  1. Използване на грешка VBA Overflow в Excel
  2. Примери за грешка VBA 1004
  3. Как да използвате VBA DoEvents?
  4. Методи за скриване на колони в VBA

Категория: