Räknare i Excel VBA

Det finns olika sätt att räkna i MS Excel. Vi kan använda inbyggda funktioner som Count, CountIf, CountA, CountBlank som finns där i Excel. Men dessa funktioner fungerar inte korrekt i VBA och har också begränsningar. För att övervinna detta har vi många funktioner och kommandon och den process som vi kan utföra VBA Counter. VBA-räknare används för att räkna cellen, räkna cellinnehållet och används också som nedräkningstimer när vi kan implementera tidbladet för att mäta alla uppgifter.

Med hjälp av VBA Counter kan vi också räkna cellerna med deras färgindex. Detta färgindex kan också teckensnittsfärg eller cellbakgrundsfärg och djärva värden.

Hur skapar jag en räknare i Excel VBA?

Nedan följer de olika exemplen för att skapa en räknare i Excel med VBA-kod.

Du kan ladda ner denna VBA Counter Excel-mall här - VBA Counter Excel Mall

VBA-räknare - exempel 1

Vi har några slumpmässiga uppgifter i kolumn A. Alla nämnda värden är slumpmässiga och har ingen anslutning såsom i sekvens eller serie. Nu med hjälp av VBA Counter-processen kommer vi att räkna de översta och nedre värdena siffrorna och få utdata i cell D2 och D3.

Vi kommer att räkna antalet och samtidigt färglägga dem enligt färgtexten i cell C2 och C3.

För detta följer du stegen nedan:

Steg 1: Skapa en kommandoknapp som är tillgänglig på fliken Utvecklare under Infoga-menyn Active X-kontroll som visas nedan.

Steg 2: Skapa nu en knapp som visas nedan.

Steg 3: Klicka höger på den skapade knappen och gå till alternativet Egenskaper .

Steg 4: Ändra bildtexten på knappen som är standard som CommandButton2 till önskat namn. Här har vi ändrat det till " Räkna celler efter värde ".

Steg 5: När du är klar högerklickar du på knappen som skapats och väljer alternativet Visa kod för att få VBA-fönstret.

Visual Basic Editor öppnas nu och som standard har en subrutin redan skapats för kommandoknappen.

Koda:

 Privat subkommandoButton2_Click () Avsluta sub 

Steg 6: Nu måste vi förklara tre variabler. Förklara den första variabeln där vi lagrar siffrorna och den andra variabeln med vilken vi kommer att använda räknaren som heltal som visas nedan. Och den tredje variabeln kommer att vara så lång att räkna de nummer som lagras i varje rad.

Koda:

 Privat underkommandoKnapp2_Klicka () Dim A Som heltal Dim Räknas som heltal Dim LRow Som Long End Sub 

Steg 7: Nu väljer vi den första cellen i arket som är A1 som vårt intervall. Härifrån kommer vi att välja cellerna tills de har siffrorna.

Koda:

 Privat subkommandoButton2_Klicka () Dim A som heltal Dim Räknas som heltal Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

Steg 8: Nu kommer vi att öppna och skriva villkoret i For loop för, om cellen har värdet större än 10 kommer cellteckensfärgen att ändras till gul och för värdet mindre än 10 kommer cellteckensfärgen att ändras till Blått med färgindex 44 respektive 55 .

Koda:

 Privat subkommandoKnapp2_Klicka () Dim A som heltal Dim Räknas som heltal Dim LRow Så länge LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Räkna sedan = Räkna + 1 celler (A, 1). Font.ColorIndex = 44 Else Cells (A, 1). Font.ColorIndex = 55 End If Next A End Sub 

Steg 9: Nu för att se utgången från värdena från cell A1 till slutet kommer vi att välja cellerna som diskuterats ovan med koden nedan.

Koda:

 Privat subkommandoKnapp2_Klicka () Dim A som heltal Dim Räknas som heltal Dim LRow Så länge LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 To LRow If Cells (A, 1) .Value> 10 Räkna = räkna + 1 celler (A, 1). Font.ColorIndex = 44 Else Cells (A, 1). Font.ColorIndex = 55 End If Next A Cells (2, 4). Value = Count Cells (3, 4) .Värde = 12 - Räkna slutund 

Steg 10: Kör nu koden genom att trycka på knappen.

Vi ser att cellerna som innehåller siffrorna mindre än 10 markeras i blå färg. Och den som är större än 10 markeras i gult.

VBA Counter - Exempel # 2

I det här exemplet kommer vi att använda VBA Counter för att mäta den tid som vi kan mäta det ta vi gör. Anta att om vi behöver mäta den tid som krävs för att slutföra någon uppgift är processen vi kommer att se här bäst att genomföra.

För detta följer du stegen nedan:

Steg 1: Skapa de två flikarna i valfri form från Infoga menyn Formalternativ som visas nedan. Vi väljer Rectangle: Rounder Corners .

Steg 2: Skapa 2 knappar och namnge dem som Start och Återställ genom vilken vi startar timern och rensar tiden.

Steg 3: Gå nu till VBA och öppna en modul från Infoga-menyn.

Steg 4: I det här skriver du underkategorin Start timer som visas nedan.

Koda:

 Sub Start () Avsluta Sub 

Steg 5: Överväg ett ord för nästa rad, till exempel NextRow, där vi väljer kalkylbladet där vi vill implementera koden. Här är vårt blad Sheet2 . Och här räknar vi raderna från +1-cell som är cell A2 tills vi har markörfilen värdet.

Koda:

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

Steg 6: För att komma in i nästa rad använder vi toppformat där 1 i konsolen är för Y-axeln.

Koda:

 Substart () NextRow = ThisWorkbook.Sheets ("Sheet2"). Celler (rader. Antal, 1) .End (xlUp). Rad + 1 celler (NextRow, 1) = Time End Sub 

Steg 7: Skriv koden för Återställ under samma startkod.

Koda:

 Sub Reset () Slut Sub 

Steg 8: Nu för återställning kommer vi att behålla samma kod som Start men nyckelordet kommer att ändras till LastRow och vi tar bort +1 bara så att vi inte behöver komma in i en annan rad.

Koda:

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

Steg 9: Nu för att rensa data i kolumn A: s sista cell till den första cellen, välj först cellerna med funktionen ClearContents .

Koda:

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

Stäng nu VBA-fönstret.

Steg 10: Högerklicka på Start- fliken och välj alternativet Tilldela makro .

Steg 11: Välj Start-underkodning som vi gjorde ovan.

Steg 12: Samma gör också för återställningsknappen. Tilldela återställning av underkod till återställningsknappen och klicka på Ok och gå ur designläget för att köra koden.

Steg 13: Klicka nu på Start- knappen först. Vi får starttiden som 3:51:33.

Steg 14: Klicka igen 2-3 gånger på Start-knappen för att få flera tidsfördröjningar. Vi kommer att se, det finns ett gap på några sekunder i varje iteration.

Steg 15: Därefter testar vi återställningsknappen . Klicka på Återställ. Vi kommer att se, uppgifterna är nu rensade och redo för ytterligare varvtider.

Fördelar med Excel VBA Counter

  • Det är väldigt lätt att implementera tidsräknare som vi såg i exempel-2.
  • VBA Counter har många implementeringstyper, detta är inte bara begränsat till de exempel vi har sett.

Saker att komma ihåg

  • Det är alltid bättre att tilldela koden för valfri knapp när vi har utfört två eller flera typer av kod i en process.
  • Avsluta designläge när kodtilldelning och körning har gjorts från fliken Utvecklare.
  • Vi kan också skapa en live-tidräknare där vi kan se nedräkningen av tiden eller titta på verklig tid.
  • Spara makro i makro aktivera Excel-filformat så att vi inte skulle förlora vår kod.

Rekommenderade artiklar

Detta är en guide till VBA Counter. Här diskuterar vi hur man skapar VBA Counter i Excel med hjälp av VBA-kod tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också titta på följande artikel för att lära dig mer -

  1. Användning av VBA OverFlow-fel i Excel
  2. Exempel på VBA 1004-fel
  3. Hur man använder VBA DoEvents?
  4. Metoder för att dölja kolumner i VBA

Kategori: