Los argumentos de rango en las funciones definidas por el usuario sólo son compatibles con la velocidad extrema cuando se manejan como tipos de variante. Por ejemplo, para una función llamada en la hoja de trabajo como =MyFunc(A1:E4, 5, 4):
Function MyFunc (MyData As Variant, Rows As Long, Cols As Long) As Double For I = 1 to Rows For J = 1 to Cols MsgBox MyData(I, J) 'or otherwise work with the cell range as an array Next J Next I End Function