Tæller i Excel VBA

Der er forskellige måder at tælle i MS Excel. Vi kan bruge indbyggede funktioner såsom Count, CountIf, CountA, CountBlank, som er der i Excel. Men disse funktioner fungerer ikke korrekt i VBA og har også begrænsninger. For at overvinde dette har vi mange funktioner og kommandoer og den proces, hvormed vi kan udføre VBA Counter. VBA-tæller bruges til at tælle cellen, tælle celleindhold og bruges også som nedtællingstimer, hvor vi kan implementere timesedlen til at måle enhver opgave.

Ved hjælp af VBA Counter kan vi også tælle cellerne med deres farveindeks. Dette farveindeks kan også fontfarve eller cellebaggrundsfarve og dristige værdier.

Sådan opretter du en tæller i Excel VBA?

Nedenfor er de forskellige eksempler til at oprette en tæller i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA Counter Excel-skabelon her - VBA Counter Excel-skabelon

VBA-tæller - eksempel # 1

Vi har nogle tilfældige taldata i kolonne A. Alle de nævnte værdier er tilfældige og har ingen forbindelse såsom i rækkefølge eller serier. Nu ved hjælp af VBA Counter-processen tæller vi de øverste og nederste værdienumre og får output i celle D2 og D3.

Vi tæller antallet og farver dem samtidigt efter farveteksten i celle C2 og C3.

Følg nedenstående trin for dette:

Trin 1: Opret en kommandoknap, der er tilgængelig på fanen Udvikler under Insert-menuens Active X-kontrol som vist nedenfor.

Trin 2: Opret nu en knap som vist nedenfor.

Trin 3: Klik til højre på den oprettede knap og gå til egenskaben Egenskaber .

Trin 4: Skift billedtekst på knappen, der som standard er CommandButton2 til ethvert ønsket navn. Her har vi ændret det til " Tæller celler efter værdi ".

Trin 5: Når det er gjort, skal du højreklikke på den oprettede knap og vælge indstillingen Vis kode for at få VBA-vinduet.

Visual Basic Editor åbnes nu, og som standard er der allerede oprettet en subroutine til kommandoknappen.

Kode:

 Privat underkommandoButton2_Klik () Slut sub 

Trin 6: Nu skal vi erklære 3 variabler. Angiv den første variabel, hvor vi vil gemme numrene og den anden variabel, som vi bruger tælleren som heltal som vist nedenfor. Og den tredje variabel vil være så lang at tælle de numre, der er gemt i hver række.

Kode:

 Privat underkommandoKnap2_Klik () Dim A som heltal Dim tæller som heltal Dim LRow Som lang ende Sub 

Trin 7: Nu vælger vi den første celle på arket, som er A1 som vores interval. Herfra vælger vi cellerne, indtil de har numrene.

Kode:

 Privat underkommandoKnap2_Klik () Dim A som heltal Dim tæller som heltal Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Trin 8: Nu åbner og skriver vi betingelsen i For loop for, hvis cellen har værdien større end 10, ændres celletypefarve til Gul og for værdien mindre end 10 ændres celletypefarven til Blå med henholdsvis farveindekserne 44 og 55 .

Kode:

 Privat underkommandoKnap2_Klik () Dim A som heltal Dim tæller som heltal Dim LRow Så lang LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 til LRow Hvis celler (A, 1) .Value> 10 Derefter tæller = tæller + 1 celler (A, 1). For.farveIndex = 44 andre celler (A, 1). For.farveIndex = 55 slut hvis næste 

Trin 9: Nu for at se output af værdierne fra celle A1 indtil slutningen, vil vi vælge cellerne som beskrevet ovenfor med nedenstående kode.

Kode:

 Privat underkommandoKnap2_Klik () Dim A som heltal Dim tæller som heltal Dim LRow Så lang LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 til LRow Hvis celler (A, 1) .Value> 10 Derefter tæller = tæller + 1 celler (A, 1). For.farveindeks = 44 andre celler (A, 1). For.farveindeks = 55 slut hvis næste en celle (2, 4). Værdi = tælleceller (3, 4) .værdi = 12 - tællende slut sub 

Trin 10: Kør nu koden ved at trykke på knappen.

Vi ser, at cellerne, der indeholder numrene mindre end 10, er fremhævet i blå farve. Og den, der er større end 10, er fremhævet i gult.

VBA-tæller - eksempel # 2

I dette eksempel vil vi bruge VBA Counter til at måle den tid, hvorpå vi kan måle det take, vi gør. Antag, at hvis vi er nødt til at måle den tid, der kræves til at udføre en opgave, så er processen, vi ser her, den bedste at gennemføre.

Følg nedenstående trin for dette:

Trin 1: Opret de 2 faner med en hvilken som helst form fra Indsæt menu Former indstillinger som vist nedenfor. Vi vælger Rektangel: Rounder Corners .

Trin 2: Opret 2 knapper og navngiv dem som Start og Nulstil, hvormed vi starter timeren og rydder tiden.

Trin 3: Gå nu til VBA og åbn et modul fra menuen Indsæt.

Trin 4: I denne skriv underkategorien Start timer som vist nedenfor.

Kode:

 Sub Start () Afslut Sub 

Trin 5: Overvej et ord til næste række, fx NextRow, hvor vi vælger det regneark, som vi vil implementere koden i. Her er vores ark Sheet2 . Og her tæller vi rækkerne fra +1 celle, som er celle A2, indtil vi har markørfilen værdien.

Kode:

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

Trin 6: Nu for at komme ind i den næste række vil vi bruge toppunktformat, hvor 1 i beslaget er til Y-aksen.

Kode:

 Substart () NextRow = ThisWorkbook.Sheets ("Sheet2"). Celler (Rækker, antal, 1) .End (xlUp) .Row + 1 Cells (NextRow, 1) = Time End Sub 

Trin 7: Skriv koden for Nulstil under den samme Startkode.

Kode:

 Sub Reset () Slut Sub 

Trin 8: Nu til nulstilling beholder vi den samme kode som Start, men nøgleordet ændres til LastRow, og vi fjerner +1 bare for at vi ikke behøver at komme ind i en anden række.

Kode:

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

Trin 9: Nu for at rydde dataene i kolonne A's sidste celle til den første celle skal du først vælge cellerne med funktionen ClearContents .

Kode:

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

Luk nu VBA-vinduet.

Trin 10: Højreklik på fanen Start og vælg indstillingen Makro .

Trin 11: Vælg Start-underkodning, som vi gjorde ovenfor.

Trin 12: Samme gør også for nulstillingsknappen. Tildel nulstil underkode til nulstillingsknappen, og klik på Ok og forlad fra designtilstand for at udføre koden.

Trin 13: Klik nu først på Start- knappen. Vi får starttidspunktet som 3:51:33.

Trin 14: Klik igen på Start-knappen 2-3 gange for at få flere tidsforløb. Vi vil se, der er et hul på et par sekunder i hver iteration.

Trin 15: Herefter tester vi nulstillingsknappen . Klik på Nulstil. Vi vil se, dataene er nu ryddet og klar til en anden tidsoptælling.

Fordele ved Excel VBA Counter

  • Det er meget let at implementere tidsrundetælleren, som vi så i eksempel-2.
  • VBA Counter har mange implementeringstyper, dette er ikke kun begrænset til de eksempler, vi har set.

Ting at huske

  • Det er altid bedre at tildele koden til enhver knap, når vi har udført 2 eller flere typer koder i en proces.
  • Gå ud af designtilstand, når kodetildeling og -udførelse er udført fra fanen Udvikler.
  • Vi kan også oprette en levetidstæller, hvor vi kan se nedtællingen af ​​tid eller se tid i virkelighed.
  • Gem makroen i makro aktiver Excel-filformat, så vi ikke mister vores kode.

Anbefalede artikler

Dette er en guide til VBA Counter. Her diskuterer vi, hvordan man opretter VBA Counter i Excel ved hjælp af VBA-kode sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også se på den følgende artikel for at lære mere -

  1. Brug af VBA OverFlow-fejl i Excel
  2. Eksempler på VBA 1004-fejl
  3. Sådan bruges VBA DoEvents?
  4. Metoder til at skjule kolonner i VBA

Kategori: