¿Cómo usar la función WorksheetFunction.Aggregate en VBA?

La función `WorksheetFunction.Aggregate` en VBA se usa para aplicar funciones de agregación, como suma, promedio, recuento, etc., en un rango de celdas mientras se opta por ignorar errores o valores ocultos.

La sintaxis general de `WorksheetFunction.Aggregate` es:

Application.WorksheetFunction.Aggregate(FunctionNum, Options, Ref1, [Ref2], ...)

Donde:

  • `FunctionNum`: Es un número que especifica la función de agregación a utilizar. Por ejemplo, 1 para AVERAGE, 2 para COUNT, etc.
  • `Options`: Un número que determina qué valores deben ignorarse en el cálculo de la agregación. Por ejemplo, 4 para ignorar nada, 5 para ignorar ocultos y 6 para ignorar errores, etc.
  • `Ref1, [Ref2], …`: Son los rangos de celdas sobre los cuales se va a realizar el cálculo.

Aquí tienes algunos ejemplos de cómo utilizar la función `WorksheetFunction.Aggregate` en VBA:

Ejemplo 1: Calcular la suma de un rango ignorando errores

Sub SumWithoutErrors()
    Dim result As Double
    result = Application.WorksheetFunction.Aggregate(9, 6, Range("A1:A10"))
    MsgBox "La suma de las celdas A1:A10 (ignorando errores) es: " & result
End Sub

En este caso, el número de función 9 representa `SUM` y el 6 indica que deseamos ignorar los errores.

Ejemplo 2: Calcular el promedio de un rango ignorando celdas ocultas

Sub AverageWithoutHiddenCells()
    Dim result As Double
    result = Application.WorksheetFunction.Aggregate(1, 5, Range("A1:A10"))
    MsgBox "El promedio de las celdas A1:A10 (ignorando celdas ocultas) es: " & result
End Sub

Aquí, el número de función 1 representa `AVERAGE` y el 5 indica que deseamos ignorar celdas ocultas.

Ejemplo 3: Calcular el recuento de números en un rango, ignorando los errores y los ocultos

Sub CountNumbersExcludingErrorsAndHidden()
    Dim result As Double
    result = Application.WorksheetFunction.Aggregate(2, 7, Range("A1:A10"))
    MsgBox "El recuento de números en A1:A10 (ignorando errores y celdas ocultas) es: " & result
End Sub

Donde el número de función 2 es para `COUNT`, y el 7 es para ignorar tanto errores como celdas ocultas.

Recuerda que debes tener en cuenta el tipo de datos que devuelve la función de agregación seleccionada. Por ejemplo, si esperas una suma o promedio que pueda ser un número decimal, deberías declarar tu variable de resultado como `Double`. Si solo necesitas un contador que siempre sea un entero, puedes usar `Long`.

Referencia para valores de `FunctionNum` y `Options`:

  • Los valores permisibles para `FunctionNum` van del 1 al 19, más algunos adicionales del 101 al 111 que se usan para funciones de agregación específicas con ciertas características.
  • Los valores permisibles para `Options` van del 0 al 7, donde principalmente 4 ignora nada, 5 ignora celdas ocultas, 6 ignora errores, y 7 ignora celdas ocultas y errores.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario