Buttons without VBA
I Can't see a reason not to add a button feature. Of course, its applications would be more limited than those VBA allows for, but would still unlock some interesting options for worksheets without the added complexity and safety concerns macros carry around. For this particular application, I don't think about buttons like separate entities, but as interactive cells.
Option A: Add binary data validation with an optional button interface. It would be functionally similar to the drop down menu, but only allowing to change the value from TRUE to FALSE and vice-versa on click. Limited on cell values, but still versatile.
Option B: Add an "equal to" option to custom data validation that only allows for a single value, and with an optional button interface. Whatever that value is, it gets applied when you click on the button. Similar applications to the previous one, with the advantage to add volatile functions such as TODAY() or RAND() as fixed values (as data validation's drop down list does).
Option C would be a button creaton interface. It would of course be made to be more versatile, but it would be more complex to implement.
In any case, having the options to "only show button on empty cells" and even "only show button if value is not equal" could make the application of this less jarring and cleaner-looking.
I think options A and B would be relatively quick and easy to implement, since they would basically be a reskin of a drop down list limited to a single option.
- Quick entering of sistematic values (e.g. click to add =TODAY() or =NOW() as fixed values, click to add the next value in a list, etc.)
- User friendly way to interact with otherwise complex datasheets (i.e. it's easier for someone who is not familiar with the sheet's structure to click on a button than to write a "1" or a "yes" in a field, and quicker than deploying the drop down list)
- Could make possible to "apply a formula once" without the need to have a formula continuously checking or trying to update a value or having unstable circular references.