Teller in Excel VBA

Er zijn verschillende manieren om te tellen in MS Excel. We kunnen ingebouwde functies gebruiken zoals Count, CountIf, CountA, CountBlank die er in Excel zijn. Maar deze functies werken niet goed in VBA en hebben ook beperkingen. Om dit te verhelpen, hebben we veel functies en commando's en het proces waarmee we VBA-teller kunnen uitvoeren. VBA-teller wordt gebruikt voor het tellen van de cel, het tellen van celinhoud en wordt ook gebruikt als afteltimer wanneer we de urenregistratie kunnen implementeren om elke taak te meten.

Met behulp van VBA Counter kunnen we de cellen ook tellen met hun kleurindices. Deze kleurenindex kan ook de letterkleur of achtergrondkleur van cellen en vetgedrukte waarden bevatten.

Hoe een teller te maken in Excel VBA?

Hieronder staan ​​de verschillende voorbeelden om een ​​teller in Excel te maken met behulp van VBA-code.

U kunt deze VBA-teller Excel-sjabloon hier downloaden - VBA-teller Excel-sjabloon

VBA-teller - Voorbeeld # 1

We hebben enkele willekeurige nummergegevens in kolom A. Alle genoemde waarden zijn willekeurig en hebben geen verband zoals in volgorde of reeks. Nu zullen we met behulp van het VBA-tellerproces de bovenste en onderste waardegetallen tellen en de uitvoer krijgen in cel D2 en D3.

We tellen het nummer en kleuren ze tegelijkertijd volgens de kleurentekst in cel C2 en C3.

Volg hiervoor de onderstaande stappen:

Stap 1: Maak een opdrachtknop die beschikbaar is op het tabblad Ontwikkelaar onder het Active X-besturingselement van het menu Invoegen, zoals hieronder wordt weergegeven.

Stap 2: Maak nu een knop zoals hieronder getoond.

Stap 3: Klik met de rechtermuisknop op de gemaakte knop en ga naar de optie Eigenschappen .

Stap 4: Wijzig het bijschrift van de knop die standaard wordt ingesteld als CommandButton2 in elke gewenste naam. Hier hebben we dat veranderd in " Cellen tellen op waarde ".

Stap 5: Klik met de rechtermuisknop op de gemaakte knop en selecteer de optie Code bekijken om het VBA-venster te openen.

Visual Basic Editor wordt nu geopend en er is standaard al een subroutine gemaakt voor de opdrachtknop.

Code:

 Private Sub CommandButton2_Click () End Sub 

Stap 6: Nu moeten we 3 variabelen declareren. Verklaar de eerste variabele waarin we de getallen opslaan en de tweede variabele waarmee we de teller als gehele getallen gebruiken, zoals hieronder weergegeven. En de derde variabele is zo lang om de nummers te tellen die in elke rij zijn opgeslagen.

Code:

 Private Sub CommandButton2_Click () Dim A als Integer Dim Count Als Integer Dim LRow As Long End Sub 

Stap 7: Nu zullen we de eerste cel van het blad selecteren die A1 is als ons bereik. Vanaf hier zullen we de cellen selecteren totdat het de nummers heeft.

Code:

 Private Sub CommandButton2_Click () Dim A als geheel getal Dim Count als geheel getal Dim LRow zo lang LRow = bereik ("A1") CurrentRegion.End (xlDown) .Row End Sub 

Stap 8: Nu zullen we de voorwaarde openen en schrijven in For-lus voor, als de cel een waarde heeft die groter is dan 10, dan wordt de kleur van het lettertype van de cel gewijzigd in Geel en voor de waarde kleiner dan 10, wordt de kleur van het lettertype van de cel gewijzigd in Blauw met respectievelijk de kleurindexen 44 en 55 .

Code:

 Private Sub CommandButton2_Click () Dim A als geheel getal Dim Count als geheel getal Dim LRow zo lang LRow = bereik ("A1"). CurrentRegion.End (xlDown). Row voor A = 1 tot LRow If Cells (A, 1) .Value> 10 Tel dan = tel + 1 cellen (A, 1) .ont.ColorIndex = 44 andere cellen (A, 1) .ont.ColorIndex = 55 Einde als volgende A Einde Sub 

Stap 9: Om de uitvoer van de waarden van cel A1 tot het einde te zien, selecteren we de cellen zoals hierboven besproken door de onderstaande code.

Code:

 Private Sub CommandButton2_Click () Dim A als geheel getal Dim Count als geheel getal Dim LRow zo lang LRow = bereik ("A1"). CurrentRegion.End (xlDown). Row voor A = 1 tot LRow If Cells (A, 1) .Value> 10 Tel dan = tel + 1 cellen (A, 1) .ont.ColorIndex = 44 andere cellen (A, 1) .ont.ColorIndex = 55 Einde als volgende A cellen (2, 4). Waarde = tel cellen (3, 4) .Waarde = 12 - Count End Sub 

Stap 10: Voer nu de code uit door op de knop te drukken.

We zullen zien dat de cellen met de getallen minder dan 10 zijn gemarkeerd in blauwe kleur. En degene groter dan 10 wordt geel gemarkeerd.

VBA-teller - Voorbeeld # 2

In dit voorbeeld zullen we VBA-teller gebruiken om de tijd te meten waarmee we de take die we doen kunnen meten. Stel dat als we de tijd moeten meten die nodig is om een ​​taak te voltooien, het proces dat we hier zullen zien het beste is om te implementeren.

Volg hiervoor de onderstaande stappen:

Stap 1: Maak de 2 tabbladen van een willekeurige vorm uit het menu Invoegen Vormenopties zoals hieronder weergegeven. We selecteren Rectangle: Rounder Corners .

Stap 2: Maak 2 knoppen en noem ze als Start en Reset waarmee we de timer starten en de tijd wissen.

Stap 3: Ga nu naar VBA en open een module in het menu Invoegen.

Stap 4: Schrijf daarin de subcategorie van Start timer zoals hieronder getoond.

Code:

 Sub Start () Einde Sub 

Stap 5: Overweeg een woord voor de volgende rij zoals NextRow, waar we het werkblad zullen selecteren waarin we de code willen implementeren. Hier is ons blad Sheet2 . En hier zullen we de rijen van +1 cel tellen die cel A2 is tot we de waarde van het cursorbestand hebben.

Code:

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

Stap 6: Nu gaan we naar de volgende rij en gebruiken we het hoekpuntformaat waarbij 1 in de haak voor de Y-as is.

Code:

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

Stap 7: Schrijf de code voor Reset onder dezelfde startcode.

Code:

 Sub Reset () Einde Sub 

Stap 8: Nu voor reset, behouden we dezelfde code als Start, maar het trefwoord wordt gewijzigd in LastRow en we verwijderen +1 zodat we niet in een andere rij hoeven te komen.

Code:

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

Stap 9: Selecteer nu eerst het cellenbereik met de functie ClearContents om de gegevens in de laatste cel van kolom A naar de eerste cel te wissen .

Code:

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

Sluit nu het VBA-venster.

Stap 10: Klik met de rechtermuisknop op het tabblad Start en selecteer de optie Macro toewijzen .

Stap 11: Selecteer de Start-subcodering die we hierboven hebben gedaan.

Stap 12: Hetzelfde geldt ook voor de Reset-knop. Wijs de Reset-subcode toe aan de Reset- knop en klik op Ok en verlaat de ontwerpmodus om de code uit te voeren.

Stap 13: Klik nu eerst op de Start- knop. We krijgen de starttijd als 3:51:33.

Stap 14: Klik nu 2-3 keer op de Start-knop om meerdere time-lapse te krijgen. We zullen zien, er is een opening van enkele seconden in elke iteratie.

Stap 15: Nu zullen we de Reset- knop testen. Klik op Reset. We zullen zien, de gegevens zijn nu gewist en klaar voor nog een aantal ronden.

Voordelen van Excel VBA Counter

  • Het is heel eenvoudig om de teller voor tijdronden te implementeren, zoals we zagen in voorbeeld-2.
  • VBA Counter heeft veel implementatietypes, dit is niet alleen beperkt tot de voorbeelden die we hebben gezien.

Dingen om te onthouden

  • Het is altijd beter om de code voor elke knop toe te wijzen wanneer we 2 of meer soorten code in één proces hebben uitgevoerd.
  • Sluit de ontwerpmodus af zodra de toewijzing en uitvoering van de code zijn voltooid vanaf het tabblad Ontwikkelaars.
  • We kunnen ook een live-tijdteller maken waar we het aftellen van de tijd kunnen zien of de tijd in het echt kunnen bekijken.
  • Sla de macro op in Macro schakel Excel-bestandsindeling in zodat we onze code niet verliezen.

Aanbevolen artikelen

Dit is een handleiding voor VBA-teller. Hier bespreken we hoe u VBA-teller in Excel kunt maken met behulp van VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Gebruik van VBA OverFlow-fout in Excel
  2. Voorbeelden van VBA 1004-fout
  3. Hoe VBA DoEvents te gebruiken?
  4. Methoden om kolommen in VBA te verbergen

Categorie: