CONTA VBA

Función de hoja de trabajo COUNTA en Excel VBA

En nuestro artículo anterior "Excel COUNTA" hemos visto cómo utilizar la función COUNT para contar los valores numéricos del rango de valores. ¿Qué tal contar todos los valores en el rango de celdas? Sí, también podemos contar eso. Para contar todos los valores de celda en el rango de celdas, necesitamos usar la fórmula "CONTAR" en Excel VBA. En este artículo, le mostraremos cómo usar la función CONTAR en VBA para contar todos los valores de celda en el rango proporcionado.

Ejemplos de función COUNTA en VBA

Una de las verdades es que la función "CONTAR" no es una función de VBA. Sé que su pregunta es si no es una función de VBA, ¿cómo la usamos? No se preocupe, aunque no es una función de VBA, podemos usarla en la clase de función de la hoja de trabajo en la codificación de VBA.

Puede descargar esta plantilla de Excel de VBA COUNTA aquí - Plantilla de Excel de VBA COUNTA

Ok, vamos a escribir el código para aplicar el excel VBA COUNTA.

Paso 1: cree un nombre de subprocedimiento.

Paso 2: Ahora primero decida dónde vamos a almacenar el resultado de la función CONTAR VBA. En este ejemplo, quiero almacenar el resultado en la celda C2. Entonces mi código será Rango ("C2") Valor.

Código:

 Sub Counta_Example1 () Rango ("C2"). Valor = End Sub 

Paso 3: En la celda C2 necesitamos el valor de la función CONTAR VBA. Entonces, para aplicar la función EXCEL VBA COUNTA, primero apliquemos la clase de función de la hoja de trabajo.

Código:

 Sub Counta_Example1 () Rango ("C2"). Valor = Trabajo End Sub 

Paso 4: Después de aplicar la clase de función de la hoja de trabajo, seleccione la fórmula COUNTA poniendo un punto.

Código:

 Sub Counta_Example1 () Rango ("C2"). Valor = WorksheetFunction.Count End Sub 

Paso 5: Ahora necesitamos proporcionar el rango de celdas que se van a contar. En este ejemplo, necesitamos contar el rango de celdas de A1 a A11. Así que suministre las celdas usando el objeto VBA RANGE.

Código:

 Sub Counta_Example1 () Rango ("C2"). Valor = WorksheetFunction.CountA (Rango ("A1: A11")) End Sub 

Ok, ejecutemos el código para obtener el resultado en la celda C2.

Entonces, el mismo resultado devuelto por VBA COUNTA también.

Así, podemos usar COUNTA para contar las celdas que no están vacías o que no están en blanco del rango proporcionado.

Codificación con variables

Las variables de VBA son la clave para construir un proyecto. Ahora, para los mismos datos, podemos declarar variables de VBA y llegar al resultado.

Para ver un ejemplo, mire el siguiente código.

Código:

 Sub Counta_Example2 () Dim CountaRange como rango Dim CountaResultCell como rango Establecer CountaRange = Rango ("A1: A11") Establecer CountaResultCell = Rango ("C2") CountaResultCell = WorksheetFunction.CountA (CountaRange) End Sub 

Expliquemos ahora el código anterior.

Primero, he declarado la variable "CountaRange" como un rango para hacer referencia al rango de valores.

 Dim CountaRange como rango

A continuación, establecí la referencia como Rango A1 a A11.

 Establecer CountaRange = Range ("A1: A11")

La segunda variable es hacer referencia a la celda de resultado CONTAR.

 Dim CountaResultCell como rango

Para esta variable, configuré la celda como C2.

 Establecer CountaResultCell = Rango ("C2")

Ahora, como de costumbre, he aplicado la función CONTAR utilizando variables en lugar de rangos codificados. Ahora, mire el código antiguo y este código VBA.

Codigo 1:

Codigo 2:

En el código 1 tenemos el rango C2, en el código 2 tenemos el nombre de la variable “CountaResultCell”. Aquí la variable "CountaResultCell" establece la referencia como celda C2. Entonces, esta variable ahora es la celda C2.

En el código 1 el rango de la función COUNTA es de A1 a A11, en el código 2 es una variable llamada “CountaRange”. Esta variable tiene una referencia al rango de A1 a A11.

Ésta es la diferencia entre el código antiguo y el código con variables.

Entonces, la función CONTAR nos ayuda a contar todas las celdas no vacías del rango proporcionado, independientemente de los datos que tenga.