If you believe this is fundamentally incorrect provide a compelling argument
as to why.
Before you reply consider why Microsoft provide a 'general' option in the
dropdown of worksheet modules if entering something other than event code is
inappropriate.
Will just give it a try..
---Private functions/procedures which are to be called from the sheet events
and are only applicable to that particular sheet are usually placed in that
module itself. (can either be a worksheet or a chart) so that if the sheet is
copied/moved to another workbook these functions/procedures would
automatically be saved along with the sheet. For example from the sheet
events if you need to do repeated tasks; like the below which are only
applicable for that particular sheet; these are ideally placed in the sheet
module.
--- It is generally accepted as good programming practice that only
procedures/functions which are used only within that module be placed in that
and others be placed in the general module. (Like placing a worksheet change
event for a ***particular*** sheet in the 'This Workbook'). In the OP's case
since the macro works on all the worksheets of the workbook it would be
considered in-appropriate to place this in sheet module..
If this post helps click Yes