CONTAR VBA (Ejemplos) - ¿Cómo usar la función CONTAR.SI en Excel VBA?

Tabla de contenido

CONTAR VBA

Las funciones basadas en criterios son las reglas de Excel en los cálculos. Al comienzo del aprendizaje de excel, debemos haber aprendido el proceso COUTNIF en excel. En nuestros artículos anteriores, le mostramos cómo trabajar con la función CONTAR.SI en Excel VBA.

Consulte nuestro artículo sobre la fórmula COUNTIF en Excel para conocer los conceptos básicos de la función COUNTIF en Excel VBA. En este artículo, le mostraremos cómo usar la misma función en la codificación VBA. Ahora veremos la misma fórmula en VBA. Lo primero es lo primero, COUNTIF no es una función de VBA; en cambio, es una función de hoja de trabajo a la que se puede acceder desde la clase de función de hoja de trabajo.

Ejemplo de función Countif de Excel VBA

Ok, veamos el ejemplo simple.

Mire el mismo ejemplo siguiente de contar valores del lote.

En la imagen de arriba, tenemos nombres de ciudades desde la celda A1 hasta la A10. En la celda C3, necesitamos contar cuántas veces aparece el nombre de la ciudad "Bangalore" en el rango de A1 a A10.

Ok, siga los pasos a continuación para escribir el código para aplicar la función CONTAR.SI.

Paso 1: Inicie el procedimiento Sub.

Código:

Opción Explicit Sub Countif_Example1 () End Sub

Paso 2: Dado que necesitamos almacenar el resultado en la celda C3, inicie el valor de Rango (“C3”).

Código:

Sub Countif_Example1 () Rango ("C3"). Valor = End Sub

Paso 3: En la celda C3, al aplicar la función EXCEL VBA COUNTIF, estamos tratando de llegar al resultado. Entonces, para acceder a la función, primero debemos usar la clase de función de hoja de trabajo.

Código:

Sub Countif_Example1 () Rango ("C3"). Valor = WorksheetFunction. End Sub

Paso 4: Desde la función perdida, seleccione Excel VBA COUNTIF.

Código:

Sub Countif_Example1 () Rango ("C3"). Valor = WorksheetFunction.CountIf (End Sub

Paso 5: Si observa los parámetros de la función VBA COUNTIF, no vemos el parámetro, como vemos en la hoja de trabajo.

Como podemos ver en la imagen de arriba en la hoja de trabajo, tenemos la sintaxis exacta, pero en VBA, solo podemos ver Arg 1 y Arg 2.

Arg 1 es Rango, así que seleccione el rango de A1 a A10.

Código:

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

Paso 6: Arg 2 es el valor que necesitamos para contar desde el rango A1 a A10. En este ejemplo, necesitamos calcular "Bangalore".

Código:

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

Ok, hemos terminado.

Ejecute el código para ver el resultado en la celda C3.

Obtuvimos el resultado como 4. Dado que el nombre de la ciudad "Bangalore" que aparece en las celdas A1, A4, A7 y A10, la función CONTAR.VBA devolvió el producto como 4.

Si puede ver que el código VBA ha devuelto solo el resultado de la fórmula, no conocemos el procedimiento en la barra de fórmulas.

Para llegar a la fórmula, necesitamos escribir el código de manera ligeramente diferente. A continuación se muestra el código para que aplique la fórmula en sí a la celda.

Código:

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

Esto aplicará la fórmula a la celda C3.

Llegar resultado con variables

Las variables son una parte integral de cualquier lenguaje de codificación. Necesitamos declarar variables para trabajar de manera eficiente con el código VBA. Por ejemplo, mire el siguiente código.

Código:

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) End Sub

Let me decode the code for you to understand better.

Firstly I have declared the two variables as Range.

Dim ValuesRange As Range: This is to reference the list of values.

Dim ResultCell As Range: This to reference the result cell.

Then I have set the range of references to both the variables.

Set ValuesRange = Range(“A1: A10”): This is the range where all the city names are there.

Set ResultCell = Range(“C3”): In this cell, we will store the result of the COUNTIF function.

In the meantime, I have declared one more variable to store the criteria value.

Dim CriteriaValue como cadena

CriteriaValue = "Bangalore"

Así que ahora la variable "CriteteriaValue" tiene el valor "Bangalore".

En la siguiente línea, como de costumbre, he aplicado la función COUTNIF.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Así, podemos aplicar la función CONTAR.SI en Excel VBA para satisfacer nuestras necesidades.

Articulos interesantes...