macro function is too slow!
Create an XLL AddIn, which is written in C.
--
Regards,
Juan Pablo González
"Tommy Brown" wrote in message
...
I am using many macro functions.
But it seems that they are quite slower than the built-in functions.
For example, the macro I wrote as below is very similar with the built-in
function SUMPRODUCT(), but the speed is very different.
I guess, the reason may be due to the fact that the built-in functions
exist as binary codes or as a part of the EXCEL program, while macro
functions should be interpreted line-by-line all the time the macro
functions run.
If so, is there any way to make macro functions as a par of excel?
--------------------------------------------------------------------------
-------------------------
Public Function MySumProduct(targets As Range, weights As Range) As Double
n = targets.Rows.Count
MySumProduct = 0
For i = 1 To n
If Application.WorksheetFunction.IsNumber(targets(i, 1)) And _
Application.WorksheetFunction.IsNumber(weights(i, 1)) Then
MySumProduct = MySumProduct + targets(i, 1).Value * weights(i,
1).Value
Else
MySumProduct = MySumProduct
End If
Next i
End Function
|