Función VBA COUNTIF en Excel (6 Ejemplos)

  • Compartir Este
Hugh West

En CONSEJO en Excel se utiliza para contar el número de celdas dentro de un rango que cumplen la condición dada. En este artículo, le mostraremos cómo utilizar la función CONSEJO en Excel con VBA macro.

Descargar el cuaderno de ejercicios

Puede descargar gratuitamente el libro de prácticas en Excel desde aquí.

Función COUNTIF con VBA.xlsm

Función COUNTIF en Excel

  • Sintaxis

WorksheetFunction.CountIf( Arg1 Como Range, Arg2 ) Como Double

  • Parámetros
Parámetro Obligatorio/ Facultativo Tipo de datos Descripción
Arg1 Requerido Gama

El rango de celdas de las celdas de recuento.

Arg2 Requerido Variante Un número, expresión, referencia de celda o texto que define qué celdas contar. Por ejemplo, la expresión puede ser 20, "20", ">20", "fruta" o B2.
  • Tipo de devolución

Valor como Double

6 Ejemplos de uso de la función COUNTIF en Excel con VBA

En esta sección, aprenderá a utilizar la función CONSEJO en Excel para contar textos, números, etc. con VBA código.

1. WorksheetFunction con COUNTIF en Excel VBA

Excel Hoja de cálculoFunción puede utilizarse para llamar a la mayoría de las demás funciones de Excel disponibles en la función Insertar en Excel y el cuadro de diálogo CONSEJO es una de esas funciones.

Con el ejemplo anterior, aprenderemos a utilizar la función Hoja de cálculoFunción con CONSEJO para contar datos con VBA en Excel.

Pasos:

  • Pulse Alt + F11 en su teclado o vaya a la pestaña Desarrollador -> Visual Basic para abrir Editor de Visual Basic .

  • En la ventana de código emergente, en la barra de menús, haga clic en Insertar -> Módulo .

  • Copie el siguiente código y péguelo en la ventana de código.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Su código ya está listo para ejecutarse.

  • Pulse F5 en el teclado o, en la barra de menús, seleccione Run -> Run Sub/UserForm También puede hacer clic en el botón pequeño icono Play en la barra de submenú para ejecutar la macro.

Queríamos averiguar cuántos números hay en nuestro conjunto de datos que sean menores que 3. Así que después de ejecutar el código obtuvimos el resultado de 4, que es el recuento de números que son menores que 3 para nuestro conjunto de datos.

Más información: Cómo usar COUNTIF entre dos números (4 métodos)

2. Función COUNTIF para Contar un Texto Específico en Excel

Si desea contar un texto específico, como cuántas ciudades, nombres, alimentos, etc. hay en una hoja de Excel, puede utilizar la función CONSEJO función en VBA .

A partir del ejemplo anterior, aprenderemos a utilizar la función CONSEJO para contar cuántas veces el nombre John se produce en nuestro conjunto de datos con VBA macro.

Pasos:

  • De la misma manera que antes, abra Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

Su código ya está listo para ejecutarse.

  • Ejecutar la macro y obtendrá el recuento total.

Si no quieres escribir el texto directamente en tu código entonces puedes almacenarlo en una variable primero y después pasar la variable dentro del código. Tal como el código de abajo,

 Sub CountifText() 'input Nombre = Rango("E6") countName = WorksheetFunction.CountIf(Rango("B5:B10"), Nombre) 'output Rango("E7") = countName End Sub 

Más información: Contar Texto al Inicio con COUNTIF & Funciones LEFT en Excel

3. Función COUNTIF para calcular números con VBA

Puede utilizar el CONSEJO para extraer determinados resultados.

A partir del ejemplo anterior, aprenderemos a utilizar la función CONSEJO para contar cuántos números hay en nuestro conjunto de datos que sean superior a 1,1 con VBA macro.

Pasos:

  • De la misma manera que antes, abra Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

Su código ya está listo para ejecutarse.

  • Ejecutar la macro y obtendrá el recuento total.

Como se discutió antes, si no quieres escribir el número directamente en tu código entonces puedes almacenarlo en una variable primero y después pasar la variable dentro del código. Justo como el código de abajo,

 Sub CountifNumber() 'entrada Num = Rango("E6") countNum = WorksheetFunction.CountIf(Rango("B5:B10"), ">" & Num) 'salida Rango("E7") = countNum End Sub 

Más información: Excel COUNTIF con criterios mayor que y menor que

Lecturas similares

  • Función COUNTIF de Excel para Contar Celdas Mayores que 0
  • Cómo utilizar conjuntamente las funciones IF y COUNTIF en Excel
  • Excel COUNTIF para Contar Celda que Contiene Texto de Otra Celda
  • Cómo utilizar la función COUNTIF para calcular porcentajes en Excel

4. Función COUNTIF con un Rango de Objeto en Excel

Puede asignar un grupo de celdas al Rango Objeto y luego usar ese Rango Objeto para contar valores en Excel.

Pasos:

  • Abrir Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
  • En la ventana de código, copia el siguiente código y pégalo.
 Sub ExCountIFRange() Dim iRng As Range 'asigna el rango de celdas Set iRng = Range("B5:B10") 'usa el rango en la fórmula Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'libera el objeto rango Set iRng = Nada End Sub 

Su código ya está listo para ejecutarse.

  • Ejecutar el código y obtendrá el recuento total con un valor de suma.

Más información: Cómo usar COUNTIF para rangos no contiguos en Excel

5. Método de la fórmula COUNTIF en Excel

También puede utilizar la función Fórmula y/o FórmulaR1C1 para aplicar un CONSEJO a una celda de VBA Estos métodos son más flexibles a la hora de realizar este tipo de operaciones.

5.1. Método de la fórmula

La fórmula permite especificar el rango de celdas como B5:B10 que se muestra a continuación en el ejemplo.

Pasos:

  • En la ventana de código del Editor de Visual Basic Copie el siguiente código y péguelo.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Su código ya está listo para ejecutarse.

Este fragmento de código le proporcionará el recuento total de los datos que necesita.

5.2. Método FormulaR1C1

La fórmulaR1C1 es más flexible, ya que no se limita a un rango de celdas determinado.

Con el mismo conjunto de datos, ahora aprenderemos a utilizar FórmulaR1C1 para contar valores en VBA .

Pasos:

  • En la ventana de código del Editor de Visual Basic Copie el siguiente código y péguelo.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Su código ya está listo para ejecutarse.

Este código también le proporcionará el recuento total de los datos que necesita.

Si no quieres establecer el rango de salida, puedes hacer este código aún más flexible escribiendo así,

 Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

La fórmula contará las celdas que cumplan la condición y colocará la respuesta en el campo ActiveCell en la hoja de cálculo. El intervalo dentro del campo CONSEJO debe referirse a la función Fila (R) y Columna (C) sintaxis.

Más información: Cómo aplicar COUNTIF entre dos valores de celda en Excel

6. Asignación del resultado de la función COUNTIF a una variable

Si desea utilizar el resultado de la fórmula en otro lugar y no en el conjunto de datos de Excel, puede asignar el resultado a una variable y utilizarlo más adelante en el código.

En VBA código para eso es,

 Sub AssignCountIfVariable() Dim iResult As Double 'Asigna la variable iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Muestra el resultado MsgBox "El recuento de celdas con valor inferior a 3 es " & iResult End Sub 

El resultado se mostrará en el cuadro de mensajes de Excel.

Más información: COUNTIF Excel Ejemplo (22 Ejemplos)

Conclusión

En este artículo se muestra cómo utilizar la función CONSEJO en Excel con VBA Espero que este artículo le haya sido de gran utilidad. No dude en preguntar si tiene alguna duda sobre el tema.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.