To each his own. Back in the day I had to maintain a number of worksheets using Excel 4 macros. I hated it. When VBA arrived it was like the sun rising on a summer day.
I found them good to use as one could write beside the macro function, what it was doing
[TABLE="width: 629"]
<colgroup><col><col></colgroup><tbody>[TR]
[TD]Reset.Meal[/TD]
[TD]Reset current meal components[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]=ECHO(FALSE)[/TD]
[TD]Disable echo on screen[/TD]
[/TR]
[TR]
[TD]=REFTEXT(ABSREF("R[1]C[4]",!Database))[/TD]
[TD]Get start of quantity column[/TD]
[/TR]
[TR]
[TD]=REFTEXT(!Database)[/TD]
[TD]Get entire database range[/TD]
[/TR]
[TR]
[TD]=FIND(":",A18)[/TD]
[TD]Extract end of range cell[/TD]
[/TR]
[TR]
[TD]=MID(A18,A19,999)[/TD]
[TD]Get cell at bottom right of database[/TD]
[/TR]
[TR]
[TD]=A17&LEFT(A20,FIND("C",A20))&5[/TD]
[TD]Form reference to quantity column[/TD]
[/TR]
[TR]
[TD]=SELECT(TEXTREF(A21))[/TD]
[TD]Select it[/TD]
[/TR]
[TR]
[TD]=CLEAR(3)[/TD]
[TD]Clear all quantities enter by user[/TD]
[/TR]
[TR]
[TD]=SELECT("RC:RC")[/TD]
[TD]Clear selection[/TD]
[/TR]
[TR]
[TD]=RETURN()[/TD]
[TD]Return to caller[/TD]
[/TR]
</tbody>[/TABLE]
but as you said "To each his own"