Hi all. I have a strange question, in the sense that I myself don't know exactly what I have to ask; so please be patient. The general subject is Array formulas (which btw I have just begun using).
---
I put this in the cell G5:
=D5:D7*E5:E7
then I select the cells G5:G7, press F2, then shift+ctrl+enter and I get the array formula.
{=D5:D7*E5:E7}
---
I'd like to know if it's possible (and how) to use a function of mine instead of a built-in function like *. Maybe it's a silly question, but I wasn't able to understand it by my own. For instance, I tried to write a function which performs the same task of the formula above:
Function prd(a As Range, b As Range)
 '''prd = a* b doesn't work, obviously
  prd = a(1, 1)* b(1, 1) '''????
End Function
When I build the array formula, all the cells G5:G7 show the result of the cell G5. I don't know how to determine the address of each cell of the array and to return the corresponding result. If I change that function (just in the attempt to understand something) in
Function prd(a As Range, b As Range)
  Dim k As Range
  Set k = Application.Caller
  prd = k.Address
End Function
the function returns the same total range in each row.
$G$5:$G$7
$G$5:$G$7
$G$5:$G$7


Does my question make sense?
Antonio