Contor în Excel VBA

Există diferite moduri de numărare în MS Excel. Putem folosi funcții încorporate, cum ar fi Count, CountIf, CountA, CountBlank, care sunt acolo în Excel. Dar aceste funcții nu vor funcționa corect în VBA și au și limitări. Pentru a depăși acest lucru, avem multe funcții și comenzi și procesul prin care putem executa VBA Counter. Contorizatorul VBA este utilizat pentru numărarea celulei, numărarea conținutului celulelor și, de asemenea, folosit ca cronometru Count Down când putem implementa foaia de timp pentru a măsura orice sarcină.

Cu ajutorul VBA Counter, putem număra și celulele cu indicii lor de culoare. Acest indice de culoare poate de asemenea să coloreze culoarea de fundal sau celulă de fundal și valorile îndrăznețe.

Cum să creezi un contor în Excel VBA?

Mai jos sunt diferite exemple pentru a crea un contor în Excel folosind codul VBA.

Puteți descărca acest șablon Excel contor VBA de aici - șablonul Excel contor VBA

Contor VBA - Exemplul # 1

Avem câteva date ale numărului aleatoriu în coloana A. Toate valorile menționate sunt aleatorii și nu au nicio conexiune, cum ar fi în secvență sau serie. Acum, cu ajutorul procesului VBA Counter, vom număra cele mai mari și inferioare numere de valoare și obținem ieșirea în celula D2 și D3.

Vom număra numărul și le vom colora simultan conform textului de culoare din celula C2 și C3.

Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Creați un buton de comandă care este disponibil în fila Dezvoltator sub Controlul Active X al meniului Insert, așa cum se arată mai jos.

Pasul 2: Acum creează un buton așa cum se arată mai jos.

Pasul 3: Faceți clic dreapta pe butonul creat și accesați opțiunea Proprietăți .

Pasul 4: Modificați titlul butonului care este implicit ca CommandButton2 la orice nume dorit. Aici, am schimbat-o în „ Numărarea celulelor după valoare ”.

Pasul 5: Odată terminat, faceți clic dreapta pe butonul creat și selectați opțiunea View Code pentru a obține fereastra VBA.

Editorul Visual Basic este deschis acum și implicit, este deja creată o subrutină pentru butonul de comandă.

Cod:

 Subcomandă privatăButton2_Click () End Sub 

Pasul 6: Acum trebuie să declaram 3 variabile. Declarați prima variabilă în care vom stoca numerele și a doua variabilă prin care vom folosi contorul ca numere întregi, așa cum se arată mai jos. Iar variabila 3 va fi la fel de lungă pentru a număra numerele stocate în fiecare rând.

Cod:

 Private Sub CommandButton2_Click () Dim A Ca număr întreg Numer Dim Ca număr întreg Dim LRow Ca sub 

Pasul 7: Acum vom selecta prima celulă a foii care este A1 ca raza noastră. De aici vom selecta celulele până vor avea numerele.

Cod:

 Private Sub CommandButton2_Click () Dim A Ca număr întreg Numer Dim ca întreg Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown). 

Pasul 8: Acum vom deschide și scrie condiția în Bucla pentru, dacă celula are valoarea mai mare de 10, atunci culoarea fontului celulei va fi schimbată în Galben, iar pentru valoarea mai mică de 10, culoarea fontului celulei va fi modificată în Albastru cu indicii de culoare 44, respectiv 55 .

Cod:

 Private Sub CommandButton2_Click () Dim A As Integ Dim Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Apoi, Count = Count + 1 Celule (A, 1) .Font.ColorIndex = 44 Celule restante (A, 1) .Font.ColorIndex = 55 End If Next A End Sub 

Pasul 9: Acum pentru a vedea ieșirea valorilor de la celula A1 până la sfârșit, vom selecta celulele așa cum este discutat mai sus de codul de mai jos.

Cod:

 Private Sub CommandButton2_Click () Dim A As Integ Dim Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Apoi, Count = Count + 1 Celule (A, 1) .Font.ColorIndex = 44 Celule restante (A, 1) .Font.ColorIndex = 55 End If Next A Cells (2, 4) .Value = Celule Count (3, 4) .Valor = 12 - Număr final Sub 

Pasul 10: Acum rulați codul apăsând butonul.

Vom vedea, celulele care conțin numere mai mici de 10 sunt evidențiate în culoarea albastră. Iar cel mai mare de 10 este evidențiat în galben.

Contor VBA - Exemplul # 2

În acest exemplu, vom folosi VBA Counter pentru a măsura timpul în care putem măsura măsura pe care o facem. Să presupunem că, dacă trebuie să măsurăm timpul necesar pentru finalizarea oricărei sarcini, atunci procesul pe care îl vom vedea aici este cel mai bun de implementat.

Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Creați cele 2 file de orice formă din meniul Inserați opțiuni Forme, așa cum se arată mai jos. Selectăm Rectangle: Rounders Corners .

Pasul 2: Creează 2 butoane și numește-le drept Start și Resetare prin care vom începe cronometrul și vom șterge ora.

Pasul 3: Acum mergeți la VBA și deschideți un modul din meniul Insert.

Pasul 4: În aceasta scrieți subcategoria Start timer așa cum se arată mai jos.

Cod:

 Sub Start () End Sub 

Pasul 5: Luați în considerare un cuvânt pentru rândul următor, cum ar fi NextRow, unde vom selecta foaia de lucru în care dorim să implementăm codul. Aici, foaia noastră este Sheet2 . Și aici vom număra rândurile din celula +1 care este celula A2 până când vom avea fișierul cursorului.

Cod:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Celule (Rows.Count, 1) .End (xlUp). Row + 1 End Sub 

Pasul 6: Acum pentru a intra în rândul următor, vom folosi formatul de vertex unde 1 în paranteză este pentru axa Y.

Cod:

 Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Cells (Rows.Count, 1) .nd (xlUp). Row + 1 Cells (NextRow, 1) = Time End Sub 

Pasul 7: Scrieți codul pentru Resetare sub același cod Start.

Cod:

 Subresetare () Terminare Sub 

Pasul 8: Acum pentru resetare, vom păstra același cod ca Start, dar cuvântul cheie va fi schimbat în LastRow și vom elimina +1 doar pentru a nu trebui să intrăm într-un alt rând.

Cod:

 Subresetare () lastrow = ThisWorkbook.Sheets ("Sheet2"). Celule (Rows.Count, 1) .End (xlUp) .Row End Sub 

Pasul 9: Acum, pentru a șterge datele din ultima celulă din coloana A, în primul rând, selectați mai întâi gama de celule cu funcția ClearContents .

Cod:

 Subresetare () lastrow = ThisWorkbook.Sheets ("Sheet2"). Celule (Rows.Count, 1). End (xlUp). Range Range ("A2: A" & lastrow) .ClearContents End Sub 

Acum închideți fereastra VBA.

Pasul 10: Faceți clic dreapta pe fila Start și selectați opțiunea Assign Macro .

Pasul 11: Selectați subcodarea Start pe care am făcut-o mai sus.

Pasul 12: La fel și pentru butonul Resetare. Alocați sub-codul Reset pe butonul Reset și faceți clic pe Ok și ieșiți din modul de proiectare pentru a executa codul.

Pasul 13: Faceți clic mai întâi pe butonul Start . Vom obține ora de pornire la 3:51:33.

Pasul 14: Acum faceți din nou clic pe butonul Start de 2-3 ori pentru a obține mai multe intervale de timp. Vom vedea, există un decalaj de câteva secunde în fiecare iterație.

Pasul 15: Acum, după aceea, vom testa butonul Resetare . Faceți clic pe Resetare. Vom vedea, datele sunt acum șterse și gata pentru încă un timp de numărare.

Beneficii ale contorului Excel VBA

  • Este foarte ușor să implementați contorul de timp după cum am văzut în exemplul 2.
  • VBA Counter are multe tipuri de implementare, acest lucru nu se limitează doar la exemplele pe care le-am văzut.

Lucruri de amintit

  • Este întotdeauna mai bine să atribuiți codul pentru orice buton atunci când am efectuat 2 sau mai multe tipuri de cod într-un singur proces.
  • Ieșiți din modul de proiectare odată ce alocarea și executarea codului sunt efectuate din fila Dezvoltator.
  • De asemenea, putem crea un contor de timp în direct în care putem vedea numărătoarea inversă a timpului sau timpul de vizionare în real.
  • Salvați macrocomanda în Macro pentru a activa formatul de fișier excel, astfel încât să nu pierdem codul nostru.

Articole recomandate

Acesta este un ghid pentru VBA Counter. Aici vom discuta despre cum să creăm Contor VBA în Excel folosind codul VBA, împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Utilizarea erorii VBA OverFlow în Excel
  2. Exemple de eroare VBA 1004
  3. Cum se folosește VBA DoEvents?
  4. Metode pentru a ascunde coloanele în VBA

Categorie: