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