View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Bill Martin[_2_] Bill Martin[_2_] is offline
external usenet poster
 
Posts: 105
Default Array Formulas in VBA

Pardon my denseness, but I don't see where the result of the MMULT operation
ends up. Sticking your code into a toy test module it will compile and
execute without complaint, but I don't see where to find the result.

I tried using:

dim Matrix(100,100)
Matrix = Evaluate(....)

.... but that fails with an error message "Can't assign to array". Where do
I find the result using your method?

Thanks.

Bill
------------------------------------

"Bob Phillips" wrote in message
...
Try evaluating it

Evaluate("MMULT(D6:D105,TRANSPOSE(Sheet2!E3:P3))")

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Bill Martin" wrote in message
...
Is there some way to use an array formula within VBA? For example, I
find
that I can use a MMULT array formula in VBA with the result posted to a
spreadsheet by using:

Range("AD6:AD105").Select
Selection.FormulaArray = "=MMULT(D6:D105,TRANSPOSE(Sheet2!E3:P3))"

But it would be much better for me if I could put the resulting vector
directly into a VBA array for use rather than back out onto the

spreadsheet.

I can do this with scalar functions that take an array input and produce
a
single result such as:

dim Vector(10) as single
... fill the vector ...
X = WorksheetFunction.Max(Vector)

I haven't been able to figure out how to do the analogous thing with
built
in worksheet array functions though.

Thanks.

Bill