Számláló az Excel VBA-ban

A számolás különféle módjai vannak az MS Excel programban. Használhatunk olyan beépített funkciókat, mint a Count, CountIf, CountA, CountBlank, amelyek Excelben vannak. De ezek a funkciók nem fognak megfelelően működni a VBA-ban, és korlátozásaik is vannak. Ennek kiküszöböléséhez számos funkciónk és parancsunk van, valamint a VBA számláló végrehajtásának folyamata is. A VBA számlálót a cella számlálására, a cellatartalom számlálására használják, és visszaszámláló időzítőként is használják, amikor az ütemtervet bármilyen feladat mérésére felhasználhatjuk.

A VBA Counter segítségével kiszámolhatjuk a sejteket színindexeikkel is. Ez a színindex betűkészletként beírhatja a színt vagy a cella háttérszínét és félkövér értékeit.

Hogyan hozhatunk létre egy számlálót az Excel VBA alkalmazásban?

Az alábbiakban bemutatjuk azokat a különféle példákat, amelyek segítségével VBA-kóddal létrehozhat számlálót Excel-ben.

Itt letöltheti ezt a VBA Counter Excel sablont - VBA Counter Excel sablon

VBA számláló - 1. példa

Van néhány véletlenszám-adat az A oszlopban. Az összes említett érték véletlenszerű és nincs olyan kapcsolat, mint sorrendben vagy sorozatban. Most a VBA számláló folyamat segítségével kiszámoljuk a legfelső és az alsó érték számot, és a kimenetet kapjuk a D2 és D3 cellába.

A C2 és C3 cellában a színes szöveget megszámoljuk és egyszerre színezzük őket.

Ehhez kövesse az alábbi lépéseket:

1. lépés: Hozzon létre egy Parancsgombot, amely elérhető a Fejlesztő fül alatt, a Beszúrás menü Active X vezérlőjében, az alább látható módon.

2. lépés: Most hozzon létre egy gombot az alább látható módon.

3. lépés: Kattintson jobbra a létrehozott gombra, és lépjen a Tulajdonságok opcióra.

4. lépés: Cserélje ki annak a gombnak a feliratait, amely alapértelmezés szerint CommandButton2, a kívánt névre. Itt módosítottuk ezt a számot : „ Cellaszámolás érték szerint ”.

5. lépés: Ha kész, kattintson a jobb gombbal a létrehozott gombra, és válassza a Kód megtekintése lehetőséget a VBA ablak eléréséhez.

A Visual Basic Editor most megnyílik, és alapértelmezés szerint már létrehozott egy alprogramot a parancsgombhoz.

Kód:

 Privát alpont CommandButton2_Click () Sub befejezése 

6. lépés: Most 3 változót kell deklarálnunk. Nyilatkoztassa az első változót, ahol tároljuk a számokat, és a második változót, amellyel számlálót használunk egész számként, az alább látható módon. És a harmadik változó ugyanolyan hosszú lesz, hogy megszámolja az egyes sorokban tárolt számokat.

Kód:

 Privát alparancsButton2_Click () Dim A egészként Dim Count mint egész szám Dim LRow mint hosszú vég Sub 

7. lépés: Most kiválasztjuk a lap első celláját, amelynek tartománya A1. Innentől fogjuk kiválasztani a cellákat, amíg nem lesznek számuk.

Kód:

 Privát alparancsButton2_Click () Eltávolítás A egész számként Méret száma egészben Dim LRow = hosszú LRow = tartomány ("A1"). CurrentRegion.End (xlDown) .Row End Sub 

8. lépés: Most megnyitjuk és beírjuk a For loop ciklus feltételét, ha a cella értéke nagyobb, mint 10, akkor a cella betűtípus színe sárgare változik, és 10-nél kisebb érték esetén a cella betűtípus színe Kék, a 44 és 55 színindexekkel.

Kód:

 Privát alparancsButton2_Click () Eltávolít A Egész számként Méret Szám Egészként Dim LRow Ha Hosszú LRow = Tartomány ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 LRow Ha Cells (A, 1) .Value> 10 Aztán Count = Count + 1 cella (A, 1) .Font.ColorIndex = 44 Más cella (A, 1) .Font.ColorIndex = 55 End if Next A End Sub 

9. lépés: Most, hogy megnézze az értékek kimenetet az A1 cellából a végéig, a cellákat az alábbiakban ismertetett módon választjuk ki.

Kód:

 Privát alparancsButton2_Click () Eltávolít A Egész számként Méret Szám Egészként Dim LRow Ha Hosszú LRow = Tartomány ("A1"). CurrentRegion.End (xlDown) .Row For A = 1 LRow Ha Cells (A, 1) .Value> 10 Aztán Count = Count + 1 cella (A, 1) .Font.ColorIndex = 44 Más cella (A, 1) .Font.ColorIndex = 55 Vége, ha a Next A cellák (2, 4). Érték = Count cellák (3, 4). Érték = 12 - Count End Sub 

10. lépés: Most futtassa a kódot a gomb megnyomásával.

Látni fogjuk, hogy a 10-nél kevesebb számot tartalmazó cellák kék színűek. És a 10-nél nagyobbat sárga színnel kell kiemelni.

VBA számláló - 2. példa

Ebben a példában a VBA számlálót használjuk az idő mérésére, ameddig mérhetjük az elvégzett munkát. Tegyük fel, hogy ha meg kell mérnünk egy feladat elvégzéséhez szükséges időt, akkor az a folyamat, amelyet itt látunk, a legjobb végrehajtani.

Ehhez kövesse az alábbi lépéseket:

1. lépés: Hozzon létre bármilyen alakú 2 fület az Insert menü Shapes beállításaiból, az alább látható módon. A Téglalapot választjuk : Rounder Corners .

2. lépés: Hozzon létre 2 gombot, és nevezze el őket Start és Reset névvel, amellyel elindíthatjuk az időzítőt és törölhetjük az időt.

3. lépés: Most menjen a VBA-ra, és nyissa meg a Modult a Beszúrás menüből.

4. lépés: Írja be a Start időzítő alkategóriáját az alább látható módon.

Kód:

 Sub Start () End Sub 

5. lépés: Vegyünk egy szót a következő sorhoz, például a NextRow, ahol kiválasztjuk azt a munkalapot, amelybe be akarjuk építeni a kódot. Itt a lapunk a 2. lap. És itt megszámoljuk a +1 cellából származó sorokat, amely az A2 cella, amíg a kurzor fájl nem lesz az érték.

Kód:

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

6. lépés: A következő sorba való belépéshez csúcsformátumot fogunk használni, ahol a zárójelben az Y tengelyre vonatkozik az 1.

Kód:

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

7. lépés: Írja be a Reset kódot ugyanazon Start kód alá.

Kód:

 Sub Reset () Sub sub 

8. lépés: Az újraindításhoz ugyanazt a kódot fogjuk megtartani, mint a Start, de a kulcsszó megváltozik LastRow-ra, és eltávolítjuk a +1-et, így nem kell egy másik sorba kerülnünk .

Kód:

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

9. lépés: Az A oszlop utolsó cellájának adatainak az első celláig történő törléséhez először válassza ki a ClearContents funkcióval rendelkező cellák tartományát.

Kód:

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

Most zárja be a VBA ablakot.

10. lépés: Kattintson a jobb gombbal a Start fülre, és válassza a Makró hozzárendelése lehetőséget.

11. lépés: Válassza ki a Start alkódolást, amelyet fent tettünk.

12. lépés: Ugyanezt tegye a Reset gombra is. Rendeljen hozzá a Reset alkódot a Reset gombhoz, majd kattintson az OK gombra, és lépjen ki a tervezési módból a kód végrehajtásához.

13. lépés: Most kattintson először a Start gombra. A kezdési idő 3:51:33 lesz.

14. lépés: Most ismét kattintson a Start gombra 2-3-szor, hogy többszörös időtúllépést kapjon. Látni fogjuk, hogy néhány másodperces rés van minden iterációban.

15. lépés: Most ezt követően teszteljük a Reset gombot. Kattintson a Reset elemre. Látni fogjuk, az adatok törlődtek és készen állnak egy további időszámítási körre.

Az Excel VBA számláló előnyei

  • Nagyon könnyű megvalósítani az időmérő számlálót, amint azt a 2. példában láttuk.
  • A VBA Counternek számos megvalósítási típusa van, ez nem csupán a példákra korlátozódik.

Dolgok, amikre emlékezni kell

  • Mindig jobb, ha bármely gombhoz hozzárendeljük a kódot, ha egy vagy több folyamatot végeztünk.
  • Lépjen ki a tervezési módból, ha a kód-hozzárendelés és végrehajtás a Fejlesztő lapon történik.
  • Létrehozhatunk egy élő időszámlálót is, ahol láthatjuk az idő visszaszámlálását vagy az idő valós idejét.
  • Mentse el a makrót a Macro makróban az excel fájlformátum engedélyezésével, hogy ne veszítsük el a kódunkat.

Ajánlott cikkek

Ez egy útmutató a VBA Counter-hez. Itt tárgyaljuk, hogyan hozhatunk létre VBA-számlálót Excel-ben a VBA-kód segítségével, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. A következő cikkben további információkat is megnézhet -

  1. A VBA OverFlow hiba használata az Excel programban
  2. Példák a VBA 1004 hibára
  3. Hogyan kell használni a VBA DoEvents-t?
  4. Az oszlopok elrejtésének módszerei a VBA-ban

Kategória: