Fonction Excel VBA COUNTA

Vous avez peut-être souvent utilisé les fonctions COUNT et COUNTA dans Microsoft Excel. Où COUNT capture toutes les valeurs numériques d'une cellule, COUNTA capture toutes les cellules non vides (y compris les chaînes). Est-il possible d'utiliser la fonction COUNTA via VBA? Absolument oui! Vous pouvez utiliser la fonction COUNTA via VBA comme fonction de feuille de calcul (car elle fait partie de la famille WorksheetFunction dans VBA) pour compter les cellules non vides dans une plage de feuilles de calcul donnée. L'avantage de la fonction COUNTA par rapport à COUNT est qu'il peut compter n'importe quoi (nombres, chaînes, caractères spéciaux, valeurs d'erreur, etc.) à l'exception des cellules vides dans une plage donnée tandis que COUNT ne peut compter que le nombre de cellules qui comprennent les valeurs numériques .

Syntaxe de VBA COUNTA:

La syntaxe de la fonction VBA COUNTA est la suivante:

Où,

Arg1 - Spécifie l'argument de cette fonction qui est obligatoire et peut prendre n'importe quelle valeur non vide telle que nombre, chaîne, valeurs d'erreur (comme # N / A, # DIV / 0!), Caractères spéciaux, etc. reste les autres arguments sont optionnel.

Cette fonction peut prendre un maximum de 30 arguments en un seul appel. Un argument peut être constitué d'une plage de cellules ou d'une valeur unique qui est entrée manuellement.

Comment utiliser la fonction COUNTA dans Excel VBA?

Vous trouverez ci-dessous les différents exemples d'utilisation de la fonction COUNTA dans Excel à l'aide du code VBA.

Vous pouvez télécharger ce modèle Excel VBA COUNTA ici - Modèle Excel VBA COUNTA

Exemple # 1 - VBA COUNTA avec des arguments manuels en entrée

Nous verrons comment fonctionne la fonction COUNTA lorsque nous lui fournirons des arguments manuels dans VBA. Suivez les étapes ci-dessous:

Étape 1: insérez un nouveau module dans Visual Basic Editor (VBE). Cliquez sur l'onglet Insérer > sélectionnez Module.

Étape 2: Définissez une nouvelle sous-procédure dans le module nouvellement inséré, qui peut contenir votre macro.

Code:

 Sub Example_1 () End Sub 

Étape 3: Décidez où nous voulons stocker la sortie pour la fonction COUNTA. Je veux le stocker dans la cellule A2 de la feuille nommée " Exemple 1 ". Pour ce faire, nous devons utiliser la méthode Sheets.Range dans VBA. Voir la capture d'écran suivante pour votre référence:

Code:

 Sub Example_1 () Sheets ("Example 1"). Range ("A2") End Sub 

Ce morceau de code sélectionne la cellule A2 comme plage dans la feuille nommée Exemple 1.

Étape 4: Utilisez un opérateur d'affectation afin que nous puissions attribuer la valeur à la cellule qui sera accessible via le code ci-dessus. Ajoutez l'objet nommé WorksheetFunction afin que nous puissions accéder à la fonction COUNTA en dessous.

Code:

 Sub Example_1 () Sheets ("Example 1"). Range ("A2") = WorksheetFunction End Sub 

Étape 5: Mettez un point (.) Après l'objet spécifié et vous verrez une liste de fonctions disponibles à utiliser en dessous. Sélectionnez COUNTA dans la liste de plusieurs fonctions disponibles qui vous permet de compter les cellules ou les valeurs non vides.

Étape 6: spécifiez les arguments manuellement sous la fonction COUNTA. Les arguments sont: "Rajnish", "# N / A", 1, "*", True. Nous avons essayé d'apporter tous les types de données comme argument à cette fonction.

Code:

 Sub Example_1 () Sheets ("Example 1"). Range ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

Étape 7: exécutez ce morceau de code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie sous la cellule A2 de la feuille « Exemple 1 » dans le classeur actif.

Dans ce code, nous voulons que le système compte les arguments d'entrée et stocke le nombre dans la cellule A2 de l'exemple de feuille 1.

Exemple # 2 - VBA COUNTA pour compter les cellules non vides dans une plage donnée

Supposons que j'ai des données dans toute la colonne A et que je dois compter quelles sont les lignes non vides de la colonne entière. Comme la colonne entière est composée de plus de 10 rangées de Lac, c'est un temps idéal pour moi de naviguer vers et de compter chaque cellule non vide. Voir la capture d'écran partielle des données ci-dessous.

Suivez les étapes ci-dessous:

Étape 1: Définissez une nouvelle sous-procédure pouvant contenir votre macro.

Code:

 Sub Example_2 () End Sub 

Étape 2: Définissez deux nouvelles variables sous cette sous-procédure en tant que plage à l' aide de Dim . Une variable sera utile pour contenir la plage de la colonne d'argument d'entrée et d'autres variables seront utiles pour maintenir la cellule où nous voulons que la sortie soit un nombre compté.

Code:

 Sub Example_2 () Dim rng_1 As Range Dim op_cell As Range End Sub 

Ici, rng_1 stockera la plage d'entrée pour la fonction COUNTA. La sortie de COUNTA sera stockée sous la variable op_cell .

Étape 3: Maintenant, définissez la plage pour les deux variables à l'aide de la propriété VBA Set. Cela doit être fait parce que nous ne pouvons pas attribuer directement une valeur à une variable définie comme un objet de plage.

Code:

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

Ici, la variable rng_1 a été définie sur la plage de la colonne entière nommée A. op_cell est définie sur la cellule B1 car ce serait la cellule qui contient la sortie de COUNTA.

Étape 4: Maintenant, utilisez l'opérateur d'affectation général contre la variable op_cell, afin que nous puissions stocker la sortie sous la cellule qui est définie sur cette variable. Cela peut être considéré comme une initialisation de sortie.

Code:

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

Étape 5: utilisez l'objet WorksheetFunction sur le côté droit de l'opérateur d'affectation (ce serait une expression qui sera évaluée et la valeur sera stockée sous la cellule définie sur la variable op_cell) pour initialiser la classe dans laquelle nous pouvons accéder ainsi que l'utiliser Fonction COUNTA.

Code:

 Sub Example_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 

Étape 6: Dès que vous appuyez sur le point (.) Après l'objet WorksheetFunction, vous pouvez accéder à toutes les fonctions disponibles sous cette classe. Naviguez vers la fonction COUNTA et double-cliquez dessus pour la sélectionner.

Étape 7: utilisez la variable rng_1 comme argument d'entrée sous COUNTA. Par conséquent, cette fonction sous la classe d'objets fonction de feuille de calcul peut compter les cellules non vides présentes dans toute la colonne A.

Code:

 Sub Example_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.CountA (rng_1) End Sub 

Étape 8: exécutez ce code en appuyant sur le bouton F5 ou Exécuter et vous pouvez voir la sortie comme indiqué ci-dessous dans la cellule B1 d'une feuille active du classeur.

Dans la cellule B1, nous pouvons voir un nombre comme 17. Ce qui signifie que nous avons 17 cellules non vides présentes dans la colonne A de la feuille de calcul. Vous ne voyez peut-être pas du tout les 17 à travers cette capture d'écran car elle est partielle. Vous feriez mieux de voir la feuille de calcul et de parcourir la colonne A.

Choses dont il faut se rappeler

  • Vous pouvez utiliser la fonction VBA COUNTA lorsque vous devez compter le nombre de cellules non vides présentes dans la plage donnée.
  • COUNTA considère toutes les valeurs comme les nombres, les chaînes, les valeurs d'erreur, les booléens, le texte vide (""). Cependant, il ne considère pas la cellule qui est vide.
  • Les cellules vides ne seront pas comptées à l'aide de la fonction COUNTA et seront ignorées.
  • Vous pouvez utiliser des arguments manuellement dans la fonction VBA COUNTA et cela fonctionne toujours.

Articles recommandés

Ceci est un guide de la fonction VBA COUNTA. Ici, nous discutons de l'utilisation de la fonction COUNTA dans Excel VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment créer un objet de collection dans VBA?
  2. Comment compter les caractères dans Excel?
  3. FileCopy dans VBA (exemples avec modèle Excel)
  4. Compter les cellules avec du texte dans Excel | Modèle Excel

Catégorie: