I'm writing a function in VBA to use in excel formula, it's ok if my function return a single value:
=MYVALUE(A1)
Now I wrote another function which returns an Array(1,2,3,4,...) and I replace my excel formula by Array formula:
{=MYARRAY(A1)}
But when I stretch the formula, all cells display the first value of my array. why ?
Here is my VBA source code (complement.xlam) :
Function MYVALUE(x as integer)
MYVALUE = 123
End Eunction
Function MYARRAY(x as integer)
MYARRAY = Array(10,20,30)
End Eunction
the reason is that your vector actually is being displayed horizontally, if you create an array formula horizontally you will get your numbers. For you to have a vertical vector use the following:
Array formulas need use like that
my VBA to split text in multi cells
C3:C7
this define the vector direction.=EXPLODE_V($B$3;" ")
Press CTRL+SHIFT+ENTER ( INSTEAD of usual ENTER ) - this will define an ARRAY formula and will result in
{=EXPLODE_V($B$3;" ")}
brackets around it (but do NOT type them manually!).A cell won't display an array, you would have to translate that array to a range/array of cells on the sheet. Alternatively, you could try converting the array to a delimited string, which may work as long as you aren't using very large arrays.