View Single Post
  #11   Report Post  
Posted to microsoft.public.excel.programming
Tim Williams Tim Williams is offline
external usenet poster
 
Posts: 1,588
Default Not for the Faith of Heart - Macro Arrays

in your function, add a "switch" parameter which will control which of
the two arrays is returned.

eg:

Function GetArray(RngIn as range, ArrayNum as integer) as variant

'.....calculate the arrays

if ArrayNum=1 then
'return array1
elseif ArrayNum=2 then
'return array2
else
'handle error (bad parameter)
end if

end function


then to get your first array:
=GetArray([range],1) 'entered as array formula
=GetArray([range],2) 'entered as array formula

Tim.



"Fabricio" < wrote in message
...
Sorry about the silly subject title, I'm trying to shrug my
frustration with
good genuine quacky humor:) With that said, I have a difficult
hurdle to
overcome...

I have a macro that returns, not one, but two arrays! Is this
doable? The
macro returns an answer that contains two arrays, which reside in
different
areas within the worksheet (i.e. the arrays are not adjacent to one
another).

Returning one array is not the problem--that's been done. But
returning
two, in different sections of the same worksheet--that's where the
money's at!

I've tried just about everything know to mankind... ok, maybe not
everything
:) Here's a list of my futile attempts:
-Wrote to different cells from within the macro function.
-Disabled Application.EnableEvents AND then wrote to different cells
within
the macro function.
-Selected different areas of the worksheet before clicking
Ctrl+****+Return.
-Returned an array of variants (instead of a single array variant).
-Used CalculateEvent to write to different cells.
-Wrote to different cells using DDE.
-Tried sending excel window message to change cells.
-Tried hacking excel's COM Object Model.

Nothing, zippo, nada worked! :) I sure would enjoy adding more
failures to
my list so if you have any great ideas send them my way :)

At any rate, keep a good spirit and thanks in advance.

-Fabricio