VBA COUNTIF (Exemples) | Com s'utilitza la funció COUNTIF a Excel VBA?

VBA COUNTIF

Les funcions basades en criteris són els governants d’excel en càlculs. Al principi de l’aprenentatge d’Excel, hem d’haver après la funció COUTNIF a Excel. Als nostres articles anteriors, us hem mostrat com treballar amb la funció COUNTIF a Excel VBA.

Consulteu el nostre article sobre la fórmula COUNTIF a Excel per conèixer els conceptes bàsics de la funció COUNTIF a Excel VBA. En aquest article, us mostrarem com utilitzar la mateixa funció a la codificació VBA. Ara veurem la mateixa fórmula a VBA. Primer de tot, COUNTIF no és una funció VBA, sinó una funció de full de treball a la qual es pot accedir a la classe de funcions de full de treball.

Exemple de funció de comptatge Excel VBA

D’acord, vegem l’exemple senzill.

Podeu descarregar aquesta plantilla Excel de la funció VBA Countif aquí: plantilla Excel de la funció VBA Countif

Mireu el següent exemple següent de recompte de valors del lot.

A la imatge anterior, tenim noms de ciutats des de la cel·la A1 fins a la A10. A la cel·la C3 hem de comptar quantes vegades apareix el nom de la ciutat "Bangalore" a l'interval A1 a A10.

D'acord, seguiu els passos següents per escriure el codi per aplicar la funció COUNTIF.

Pas 1: Inicieu el procediment Sub.

Codi:

 Opció Sub explícita Countif_Exemple1 () Final sub 

Pas 2: Com que hem d'emmagatzemar el resultat a la cel·la C3, inicieu el codi com a Range ("C3"). Valor.

Codi:

 Sub Countif_Example1 () Interval ("C3"). Valor = Final Sub 

Pas 3: A la cel·la C3 aplicant la funció Excel VBA COUNTIF, intentem arribar al resultat. Per accedir a la funció, hem d’utilitzar primer la classe Function Sheet Function.

Codi:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction. Finalitzar sub 

Pas 4: De la pèrdua, seleccioneu la funció Excel VBA COUNTIF.

Codi:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (End Sub 

Pas 5: Si mireu els paràmetres de la funció VBA COUNTIF, no el veurem tal com es veu al full de treball.

Com podem veure a la imatge anterior del full de treball, tenim una sintaxi clara, però a VBA només podem veure Arg 1 i Arg 2.

Arg 1 és Range, de manera que seleccioneu l'interval A1 a A10.

Codi:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub 

Pas 6: Arg 2 és quin és el valor que hem de comptar des de l'interval A1 fins a A10. En aquest exemple, hem de comptar amb "Bangalore".

Codi:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") End Sub 

D’acord, ja hem acabat.

Executeu el codi per veure el resultat a la cel·la C3.

Vam obtenir el resultat com 4. Com que el nom de ciutat "Bangalore" que apareix a les cel·les A1, A4, A7 i A10, la funció VBA COUNTIF va retornar el resultat com a 4.

Si podeu veure que el codi VBA només ha retornat el resultat de la fórmula, no veurem la fórmula a la barra de fórmules.

Per arribar a la fórmula hem d’escriure el codi una mica diferent. A continuació es mostra el codi per aplicar la fórmula a la cel·la.

Codi:

 Sub Countif_Example1 () Range ("C3"). Formula = "= CountIf (A1: A10," "Bangalore" ")" End Sub 

S’aplicarà la fórmula a la cel·la C3.

Arribar el resultat amb variables

Les variables són una part integral de qualsevol llenguatge de codificació. Hem de declarar variables perquè funcionin de manera eficient amb el codi VBA. Per obtenir un exemple, mireu el codi següent.

Codi:

 Sub Countif_Example2 () Dim ValuesRange As Range Dim ResultCell As Range Dim CriteriaValue As String Set ValuesRange = Range ("A1: A10") Set ResultCell = Range ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) Final Sub 

Deixeu-me descodificar el codi perquè entengueu millor.

En primer lloc he declarat les dues variables com a Range.

Atenuar els valors: abast com a interval: es tracta de fer referència a la llista de valors.

Atenuar el resultat ResultCell As Range: per fer referència a la cel·la de resultats.

Després he establert el rang de referències a les dues variables.

Establir ValuesRange = Range ("A1: A10"): és l'interval on hi ha tots els noms de les ciutats.

Establir ResultCell = Range ("C3"): en aquesta cel·la, emmagatzemarem el resultat de la funció COUNTIF.

Mentrestant, he declarat una variable més per emmagatzemar el valor dels criteris.

Dim CriteriaValue As String

CriteriaValue = "Bangalore"

Per tant, ara la variable "CriteteriaValue" té el valor de "Bangalore".

A la següent línia, com de costum, he aplicat la funció COUTNIF.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Així, podem aplicar la funció COUNTIF a Excel VBA per adaptar-se a les nostres necessitats.