CONTAR VBA

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 la función 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, sino 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.

Puede descargar esta plantilla de Excel de función VBA Countif aquí - Plantilla de Excel de función VBA Countif

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 COUNTIF.

Paso 1: Inicie el procedimiento Sub.

Código:

 Opción Explicit Sub Countif_Example1 () End Sub 

Paso 2: Como necesitamos almacenar el resultado en la celda C3, inicie el código como Rango (“C3”). Valor.

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 () Range ("C3"). Value = 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 una sintaxis clara, 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, debemos contar "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 resultado como 4.

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

Para llegar a la fórmula, debemos 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. Para ver un ejemplo, mire el siguiente código.

Código:

 Sub Countif_Example2 () Dim ValuesRange As Range Dim ResultCell como rango Dim CriteriaValue As String Establecer valoresRange = Range ("A1: A10") Establecer ResultCell = Range ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) Fin Sub 

Déjame decodificar el código para que lo entiendas mejor.

En primer lugar, he declarado las dos variables como Range.

Dim ValuesRange As Range: esto es para hacer referencia a la lista de valores.

Dim ResultCell As Range: esto para hacer referencia a la celda de resultado.

Luego establecí el rango de referencias para ambas variables.

Set ValuesRange = Range (“A1: A10”): este es el rango donde están todos los nombres de ciudades.

Establecer ResultCell = Rango (“C3”): En esta celda, almacenaremos el resultado de la función CONTAR.SI.

Mientras tanto, he declarado una variable más para almacenar el valor del criterio.

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.