@
footoo I'm just answering the OP's question which was to force all text to be upper case without use of macro, in relation to their statement it's being sent to an external party.
Yes, I could say the same thing about any/all cell formatting in any .xlsx file, but the OP's initial question was not about formatting.
To save time investigating use of a capitals font, I merely suggested that this cannot be locked or at least not circumvented by an end user if within a standard .xlsx file, as the OP stated it needs to be.
You've yet to answer how do you prevent user changing font if spreadsheet is sent as .xlsx? Instead you proposed your own question:
What would you do? - Do all cell formatting by event procedures?
To answer your question, I would not do cell formatting by event procedures. I would look to engage with the end user to understand the complication and data input process and either apply a macro post entry to force upper case/formatting/anything else to standardise it or ensure the end user understands why it needs to be upper case and possibly say it will be sent back if not.
However, the OP didn't ask about formatting, so I'm not sure why you're asking this...