Thanks so much, Wapperdude, for these examples. I just downloaded the latest updates from the What's with SETATREF anyway? topic, and I plan to go through it until I understand SetAtRef.
I implemented Example 2 in the SETATREF Function.docx file, and I'm having a hard time understanding parts of it. I can see how moving the child shape works, but how does moving the parent cause the child to follow? If it's via normal "dependency" recalculation, what part of the PinX/Y formulas are involved? The first of two articles from Microsoft's blog states this:
During the recalc operation, the SETATREF function is transparent. SETATREF(x) = x. In other words, the result of the recalc is just like if there were no SETATREF wrapped around the cell references.
At the risk of seeming pedantic, SetAtRef most frequently seems to have two arguments. So, which of these two are correct for normal recalc:
SetAtRef(x,y) = x
SetAtRef(x,y) = y
Thanks for any help you can provide!