Referring to answered Jun 27 '13 at 7:43 by totymedli and answered Apr 13 '16 at 0:53 by Meir Shachar
I do prefer the VBA solution although the OP did not ask for one. However, I am able to parse and understand most of the linked responses above, other than the line:
distance = Range(Application.Caller.Address).row - rng.row
It appears that the posters are using this construct to determine if the resultant range (or array?) is greater than zero length to avoid creation of an empty Variant return value. If so, I fail to see the need for this and am able to create useful output without references to the integer distance
.
I have attempted my due diligence, however, the usually cryptic Microsoft reference was less than useful for me. If someone could please explain the use/nature of the Application.Caller.Address
construct (even better - in this particular instance) I could better judge if I actually need to use it.