<p>Posting a response so I can mark my own “question” as having an answer.</p>
<p>I’ve seen other workarounds, but this seems simpler and I’m surprised it works at all.</p>
<pre><code class="lang-auto">Sub ChangeIt(c1 As Range, c2 As Range)
c1.Value = c2.Value
c1.Interior.Color = IIf(c1.Value > 10, vbRed, vbYellow)
End Sub
'######## run as a UDF, this actually changes the sheet ##############
' changing value in c2 updates c1...
Function SetIt(src, dest)
dest.Parent.Evaluate "Changeit(" & dest.Address(False, False) & "," _
& src.Address(False, False) & ")"
SetIt = "Changed sheet!" 'or whatever return value is useful...
End Function
</code></pre>
<p>Please post additional answers if you have interesting applications for this which you’d like to share.</p>
<p><strong>Note :</strong> Untested in any kind of real “production” application.</p>