Teller i Excel VBA

Det er forskjellige måter å telle i MS Excel. Vi kan bruke innebygde funksjoner som Count, CountIf, CountA, CountBlank som er der i Excel. Men disse funksjonene vil ikke fungere ordentlig i VBA og har begrensninger også. For å få bukt med dette har vi mange funksjoner og kommandoer og prosessen som vi kan utføre VBA Counter. VBA Counter brukes til å telle cellen, telle celleinnhold og brukes også som Count Down timer når vi kan implementere timelisten for å måle hvilken som helst oppgave.

Ved hjelp av VBA Counter kan vi også telle cellene med deres fargeindekser. Denne fargeindeksen kan også skriftfarge eller bakgrunnsfarge på celle og fet skrift.

Hvordan lage en teller i Excel VBA?

Nedenfor er de forskjellige eksemplene for å lage en teller i Excel ved hjelp av VBA-kode.

Du kan laste ned denne VBA Counter Excel Mal her - VBA Counter Excel Mal

VBA Counter - Eksempel # 1

Vi har noen tilfeldige talldata i kolonne A. Alle de nevnte verdiene er tilfeldige og har ingen forbindelse, for eksempel i sekvens eller serie. Nå med hjelp av VBA Counter-prosessen, vil vi telle de øverste og nederste verdienstallene og få utdata i celle D2 og D3.

Vi teller tallet og fargelegger dem samtidig som i fargeteksten i celle C2 og C3.

Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Lag en kommandoknapp som er tilgjengelig i Utvikler- fanen under Sett inn-menyens Active X-kontroll som vist nedenfor.

Trinn 2: Opprett nå en knapp som vist nedenfor.

Trinn 3: Klikk høyre på den opprettede knappen og gå til Egenskaper- alternativet.

Trinn 4: Endre bildeteksten til knappen som standard som CommandButton2 til hvilket som helst ønsket navn. Her har vi endret det til " Counting Cells By Value ".

Trinn 5: Når du er ferdig, høyreklikker du på knappen som er opprettet og velger alternativet Vis kode for å få VBA-vinduet.

Visual Basic Editor åpnes nå, og som standard er det allerede opprettet en subroutine for kommandoknappen.

Kode:

 Privat underkommandoButton2_Klikk () Slutt sub 

Trinn 6: Nå må vi erklære tre variabler. Angi den første variabelen der vi vil lagre tallene og den andre variabelen som vi vil bruke telleren som heltall som vist nedenfor. Og den tredje variabelen vil være like lang for å telle tallene som er lagret i hver rad.

Kode:

 Privat underkommandoKnapp2_Klikk () Dim A As heltall Dim teller som heltall Dim LRow Som Long End Sub 

Trinn 7: Nå velger vi den første cellen på arket som er A1 som vårt område. Herfra vil vi velge cellene til de har tallene.

Kode:

 Privat underkommandoButton2_Klikk () Dim A Som heltall Dim teller som heltall Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Trinn 8: Nå vil vi åpne og skrive betingelsen i For loop for, hvis cellen har verdien større enn 10, vil celletypefarge bli endret til gul og for verdien mindre enn 10, vil celletypefargen endres til Blått med henholdsvis 44 og 55 fargeindekser.

Kode:

 Privat underkommandoButton2_Klikk () Dim A som heltall Dim teller som heltall Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 to LRow If Cells (A, 1) .Value> 10 Deretter teller = teller + 1 celler (A, 1) .ont.ColorIndex = 44 andre celler (A, 1) .ont.ColorIndex = 55 End If Next A End Sub 

Trinn 9: Nå for å se output av verdiene fra celle A1 til slutten, vil vi velge cellene som diskutert over av koden nedenfor.

Kode:

 Privat underkommandoButton2_Klikk () Dim A som heltall Dim teller som heltall Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 to LRow If Cells (A, 1) .Value> 10 Deretter teller = telle + 1 celler (A, 1). Font.ColorIndex = 44 Else Cells (A, 1). 4). Verdi = 12 - Count End Sub 

Trinn 10: Kjør nå koden ved å trykke på knappen.

Vi vil se at cellene som inneholder tallene mindre enn 10 er uthevet i blå farge. Og den større enn 10 er uthevet i gult.

VBA Counter - Eksempel # 2

I dette eksemplet vil vi bruke VBA Counter til å måle tiden vi kan måle det vi tar. Anta at hvis vi trenger å måle tiden som kreves for å fullføre en oppgave, er prosessen vi ser her den beste å implementere.

Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Lag de to fanene med hvilken som helst form fra Sett inn meny Former alternativer som vist nedenfor. Vi velger Rektangel: Rounder Corners .

Trinn 2: Lag 2 knapper og navngi dem som Start og Tilbakestill hvor vi starter timeren og tøm klokka.

Trinn 3: Gå nå til VBA og åpne en modul fra Sett inn-menyen.

Trinn 4: I det skriver du underkategorien Start timer som vist nedenfor.

Kode:

 Sub Start () Slutt Sub 

Trinn 5: Tenk på et ord for neste rad, for eksempel NextRow, der vi velger arbeidsarket som vi vil implementere koden i. Her er arket vårt Sheet2 . Og her vil vi telle radene fra +1 celle som er celle A2 til vi har markørfil verdien.

Kode:

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

Trinn 6: Nå for å komme inn i neste rad vil vi bruke toppunktformat der 1 i braketten er for Y-aksen.

Kode:

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

Trinn 7: Skriv koden for Tilbakestill under den samme startkoden.

Kode:

 Sub Reset () Slutt Sub 

Trinn 8: Nå for tilbakestilling, vil vi beholde den samme koden som Start, men nøkkelordet blir endret til LastRow og vi fjerner +1 bare slik at vi ikke trenger å komme inn i en annen rad.

Kode:

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

Trinn 9: Nå for å tømme dataene i kolonne As siste celle til den første cellen, velger du først området med celler med funksjonen ClearContents .

Kode:

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

Lukk nå VBA-vinduet.

Trinn 10: Høyreklikk på Start- fanen og velg Tildel makro- alternativet.

Trinn 11: Velg Start underkoding som vi gjorde ovenfor.

Trinn 12: Samme gjør også for tilbakestill-knappen. Tildel tilbakestill underkode til tilbakestill- knappen og klikk på Ok og avslutt fra designmodus for å utføre koden.

Trinn 13: Klikk først på Start- knappen. Vi får starttid som 3:51:33.

Trinn 14: Klikk igjen 2-3 ganger på Start-knappen for å få flere tidsperioder. Vi vil se, det er et gap på noen sekunder i hver iterasjon.

Trinn 15: Nå vil vi teste Tilbakestill- knappen. Klikk på Tilbakestill. Vi vil se, dataene er nå slettet og klar for en annen tids telleromgang.

Fordeler med Excel VBA Counter

  • Det er veldig enkelt å implementere tidsrundene, slik vi så i eksempel-2.
  • VBA Counter har mange implementeringstyper, dette er ikke bare begrenset til eksemplene vi har sett.

Ting å huske

  • Det er alltid bedre å tilordne koden for hvilken som helst knapp når vi har utført 2 eller flere typer koder i en prosess.
  • Gå ut av designmodus når kodetildeling og utførelse er utført fra Utvikler-fanen.
  • Vi kan også lage en levetidsteller der vi kan se nedtelling av tid eller se tid på reell.
  • Lagre makroen i makro, aktiver Excel-filformat slik at vi ikke mister koden.

Anbefalte artikler

Dette er en guide til VBA Counter. Her diskuterer vi hvordan du lager VBA Counter i Excel ved hjelp av VBA-kode sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også se på følgende artikkel for å lære mer -

  1. Bruk av VBA OverFlow Error i Excel
  2. Eksempler på VBA 1004-feil
  3. Hvordan bruke VBA DoEvents?
  4. Metoder for å skjule kolonner i VBA

Kategori: