A UDF is VBA though. Although they generally return results, rather than performing physical actions.
Why the reluctance to use VBA?
If you're not opposed to VBA you mentioned that you want this to happen after calculation, so I'd look at the Calculate event. Or if there is a manual input driving the calculation, then use a change event. The latter is a bit easier to control than the former, especially if you have a lot of calculations.