ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Can I write a function like matrix function? (https://www.excelbanter.com/excel-programming/393895-can-i-write-function-like-matrix-function.html)

Evaluate function parameter as VBA code[_2_]

Can I write a function like matrix function?
 
Dear all
I want make a function which can be used in excel cell just like "=aaaa(x,
y)", and the result of function is a matrix, maybe 1x10, 10x1, 10x20 etc.

I tried to use the left-up cell of the output range as the additional
input paramter, just like "=aaaa(x,y, F10)"

Unfortunately, I CANNOT write any number to the output range....but I can
read data from the input cell

Function aaaa(x as double, y as double, output as Range) as boolean
x = output.range("A1").value ' this will WORK
output.range("A1").value = 10 ' this will FAIL
End Function


How can I return a matrix??
thanks~~
Sincerely.

Tom Ogilvy

Can I write a function like matrix function?
 
You assign the output to the function name - not as a parameter value.


You then have to do a multicell array entry of the formula in the worksheet

Function MyDumFunc(a as long)
redim v(1 to 10, 1 to 3)
for i = 1 to 10
for j = 1 to 3
v(i,j) = i * j * a
Next j
next i
MyDumFunc = v
End Function

Select A1:C10
in the formula bar put in

=MyDumFunc(25) and enter with Ctrl+Shift+Enter

--
Regards,
Tom Ogilvy



"Evaluate function parameter as VBA code" wrote:

Dear all
I want make a function which can be used in excel cell just like "=aaaa(x,
y)", and the result of function is a matrix, maybe 1x10, 10x1, 10x20 etc.

I tried to use the left-up cell of the output range as the additional
input paramter, just like "=aaaa(x,y, F10)"

Unfortunately, I CANNOT write any number to the output range....but I can
read data from the input cell

Function aaaa(x as double, y as double, output as Range) as boolean
x = output.range("A1").value ' this will WORK
output.range("A1").value = 10 ' this will FAIL
End Function


How can I return a matrix??
thanks~~
Sincerely.


Evaluate function parameter as VBA code[_2_]

Can I write a function like matrix function?
 
thanks a lot~~~


"Tom Ogilvy" wrote:

You assign the output to the function name - not as a parameter value.


You then have to do a multicell array entry of the formula in the worksheet

Function MyDumFunc(a as long)
redim v(1 to 10, 1 to 3)
for i = 1 to 10
for j = 1 to 3
v(i,j) = i * j * a
Next j
next i
MyDumFunc = v
End Function

Select A1:C10
in the formula bar put in

=MyDumFunc(25) and enter with Ctrl+Shift+Enter

--
Regards,
Tom Ogilvy



"Evaluate function parameter as VBA code" wrote:

Dear all
I want make a function which can be used in excel cell just like "=aaaa(x,
y)", and the result of function is a matrix, maybe 1x10, 10x1, 10x20 etc.

I tried to use the left-up cell of the output range as the additional
input paramter, just like "=aaaa(x,y, F10)"

Unfortunately, I CANNOT write any number to the output range....but I can
read data from the input cell

Function aaaa(x as double, y as double, output as Range) as boolean
x = output.range("A1").value ' this will WORK
output.range("A1").value = 10 ' this will FAIL
End Function


How can I return a matrix??
thanks~~
Sincerely.



All times are GMT +1. The time now is 06:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com