I think you'll be fighting Excel every step of the way to achieve this, but I've
never investigated changing cell format as a side-effect - only changing the
CONTENT of other cells, which I have encountered on a few occasions and not
bothered to pursue.
One option that leaps to mind would be to use an asynchronous subroutine to look
at your public data and reformat the cell after the function had done its thing.
More precisely, you'd get the function to trigger the execution of the
asynchronous subroutine using a timed delay set to "now".
Call Application.OnTime(Now, "SideEffectSubroutine")
I don't think I've ever tried to run an OnTime from a cell formula function, but
I'd anticipate that it wouldn't be blocked.