Excel VBA COUNTA Funcție

Este posibil să fi folosit adesea funcțiile COUNT și COUNTA în Microsoft Excel. În cazul în care COUNT surprinde toate valorile numerice dintr-o celulă, COUNTA surprinde toate celulele care nu sunt goale (inclusiv șiruri). Este posibil să folosiți funcția COUNTA prin VBA? Cu siguranță, da! Puteți utiliza funcția COUNTA prin VBA ca funcție de foaie de lucru (deoarece este o parte a familiei WorksheetFunction din interiorul VBA) pentru a număra celulele care nu sunt goale printr-un interval de foi de lucru. Avantajul funcției COUNTA peste COUNT este - poate conta orice (numere, șiruri, caractere speciale, valori de eroare etc.), cu excepția celulelor goale dintr-un interval dat, în timp ce COUNT poate număra doar numărul de celule care constau în valorile numerice. .

VBA COUNTA Sintaxă:

Sintaxa pentru funcția VBA COUNTA este după cum se arată mai jos:

Unde,

Arg1 - Specifică argumentul pentru această funcție, care este obligatoriu și poate lua orice valoare care nu este goală, cum ar fi numărul, șirul, valorile de eroare (cum ar fi # N / A, # DIV / 0!), Caractere speciale, etc. opțional.

Această funcție poate prelua maximum 30 de argumente într-un singur apel. Un argument poate consta dintr-o gamă de celule sau o valoare unică care este introdusă manual.

Cum se utilizează funcția COUNTA în Excel VBA?

Mai jos găsiți diferitele exemple de utilizare a funcției COUNTA în Excel folosind codul VBA.

Puteți descărca acest șablon Excel VTA COUNTA aici - șablonul VBA COUNTA Excel

Exemplul nr. 1 - VBA COUNTA cu argumente manuale ca intrare

Vom vedea cum funcționează COUNTA când îi furnizăm argumente manuale în VBA. Urmați pașii menționați mai jos:

Pasul 1: Inserați un nou modul în Visual Basic Editor (VBE). Faceți clic pe fila Inserare > selectați Modul.

Pasul 2: Definiți o nouă subprocedură în modulul nou introdus, care vă poate reține macro.

Cod:

 Sub Exemplu_1 () Final Sub 

Pasul 3: Decideți unde dorim să stocăm ieșirea pentru funcția COUNTA. Vreau să îl depozitez în celula A2 a foii denumită „ Exemplul 1 ”. Pentru a face acest lucru, trebuie să utilizăm metoda Sheets.Range în VBA. Consultați următoarea captură de ecran pentru referința dvs.:

Cod:

 Sub Exemplu_1 () Fișe ("Exemplu 1"). Gama ("A2") 

Această bucată de cod selectează celula A2 ca un interval din foaia numită Exemplul 1.

Pasul 4: Utilizați un operator de atribuire, astfel încât să putem atribui valoarea celulei care va fi accesată prin codul de mai sus. Adăugați obiectul numit WorksheetFunction pentru a putea accesa funcția COUNTA sub acesta.

Cod:

 Sub Exemplu_1 () Fișe ("Exemplu 1"). Gama ("A2") = Foaie de lucru 

Pasul 5: Puneți un punct (.) După obiectul specificat și veți vedea o listă de funcții disponibile pentru a fi utilizate sub acesta. Selectați COUNTA din lista mai multor funcții disponibile care vă permite să numărați celulele sau valorile care nu sunt goale.

Pasul 6: Specificați argumentele manual sub funcția COUNTA. Argumentele sunt: ​​„Rajnish”, „# N / A”, 1, „*”, True. Am încercat să aducem toate aceste tipuri de date ca argument la această funcție.

Cod:

 Sub Exemplu_1 () Fișe ("Exemplu 1"). Gama ("A2") = Foaie de lucruFuncție.CountA ("Rajnish", "# N / A", 1, "*", Adevărat) Final Sub 

Pasul 7: Rulați această bucată de cod apăsând butonul F5 sau Run și vedeți ieșirea din celula A2 a foii „ Exemplul 1 ” din registrul de lucru activ.

În acest cod, dorim ca sistemul să numere argumentele de intrare și să stocheze numărul sub celula A2 din foaia Exemplul 1.

Exemplul # 2 - VBA COUNTA pentru a contoriza celulele care nu sunt goale într-un interval dat

Să presupunem că am date de-a lungul coloanei A și trebuie să socotesc care sunt rândurile care nu sunt goale în întreaga coloană. Întrucât întreaga coloană este formată din mai mult de 10 rânduri de Lac, este ideal pentru mine să navighez către și să număresc fiecare celulă care nu este goală. Consultați ecranul parțial al datelor de mai jos.

Urmați pașii de mai jos:

Pasul 1: Definiți o nouă sub-procedură care vă poate reține macro.

Cod:

 Sub Exemplu_2 () End Sub 

Pasul 2: Definiți două variabile noi în cadrul acestei subproceduri ca un interval folosind Dim . O variabilă va fi utilă pentru a păstra intervalul de coloane cu argumentul de intrare, iar alte variabile vor fi de ajutor în menținerea celulei unde dorim ieșirea ca număr numărat.

Cod:

 Sub Exemplu_2 () Dim rng_1 Ca rază Dim op_cell Ca Range Sub Sub 

Aici, rng_1 va stoca intervalul de intrare pentru funcția COUNTA. Ieșirea COUNTA va fi stocată sub variabila op_cell .

Pasul 3: Acum, setați intervalul pentru ambele variabile utilizând proprietatea VBA Set. Acest lucru trebuie făcut deoarece nu putem atribui direct o valoare unei variabile definite ca obiect de gamă.

Cod:

 Sub Exemplu_2 () Dim rng_1 Ca rază Dim op_cell Ca set Setare rng_1 = Interval ("A: A") Set op_cell = Interval ("B1") Final Sub 

Aici, variabila rng_1 a fost setată pe gama de întregi coloane numită A. op_cell este setată la celula B1, deoarece ar fi celula care conține ieșirea COUNTA.

Pasul 4: Acum, utilizează operatorul de alocare generală împotriva variabilei op_cell, astfel încât să putem stoca ieșirea sub celula care este setată la acea variabilă. Aceasta poate fi considerată ca o inițializare a ieșirii.

Cod:

 Sub Exemplu_2 () Dim rng_1 Ca rază Dim op_cell Ca set Setare rng_1 = Interval ("A: A") Set op_cell = Range ("B1") op_cell = End Sub 

Pasul 5: Utilizați obiectul WorksheetFunction din partea dreaptă a operatorului de atribuire (ar fi o expresie care va fi evaluată și valoarea va fi stocată sub setul de celule la variabila op_cell) pentru a iniția clasa în care putem accesa, precum și utilizarea Funcția COUNTA.

Cod:

 Sub Exemplu_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub 

Pasul 6: De îndată ce atingeți punctul (.) După obiectul WorksheetFunction, puteți accesa toate funcțiile disponibile în acea clasă. Navigați spre funcția COUNTA și faceți dublu clic pe ea pentru a selecta.

Pasul 7: Utilizați variabila rng_1 ca argument de intrare sub COUNTA. Prin urmare, această funcție din clasa obiect de funcție a foii de lucru poate număra celulele ne-goale prezente în întreaga coloană A.

Cod:

 Sub Exemplu_2 () Dim rng_1 Ca rază Dim op_cell Ca set Setare rng_1 = Interval ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Pasul 8: Rulați acest cod apăsând butonul F5 sau Run și puteți vedea ieșirea așa cum se arată mai jos în celula B1 a unei foi active din cartea de lucru.

În celula B1 putem vedea un număr ca 17. Ceea ce înseamnă că, avem coloana 17 goală, prezentă în coloana A a foii de lucru. Este posibil să nu vedeți deloc 17 prin acest ecran, deoarece este unul parțial. Mai bine ați putea vedea foaia de lucru și a naviga prin coloana A.

Lucruri de amintit

  • Puteți utiliza funcția VBA COUNTA atunci când trebuie să numărați numărul de celule care nu sunt prezente în intervalul dat.
  • COUNTA consideră toate valorile ca numere, șiruri, valori de eroare, Booleane, text gol („”). Cu toate acestea, nu are în vedere celula care este goală.
  • Celulele goale nu vor fi numărate folosind funcția COUNTA și vor fi ignorate.
  • Puteți utiliza argumentele manual în funcția VBA COUNTA și funcționează în continuare.

Articole recomandate

Acesta este un ghid pentru funcția VBA COUNTA. Aici vom discuta despre cum să folosiți funcția COUNTA în Excel VBA, împreună cu exemple practice și șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum să creezi obiect de colecție în VBA?
  2. Cum să numeri personaje în Excel?
  3. FileCopy în VBA (exemple cu șablon Excel)
  4. Numărare celule cu text în Excel | Șablon Excel

Categorie: