If you save an Excel file in the xlsx format, the macros will be lost upon re-opening. If you saved the file in the xlsm format after adding the macro to it, the macro will still be there upon re-opening.
The 'enable macros' prompt upon opening can be avoided by storing the file in a trusted location. See File|Options|Trust Centre>Trust Centre Settings>Trusted Locations.
As for clearing, that's not what the macro does. Although it would be possible to write a macro that clears the customer sheets when the main sheet is cleared, clearing individual items would be much more difficult. As you can see, just populating the customer sheets takes quite a lot of code; working out which rows to delete would be much harder.
If you're still keen to use formulae for this, see:
http://windowssecrets.com/forums/sho...l=1#post734296
http://www.techsupportforum.com/foru...ml#post2567119
Compared to a macro-based solution, these complex formulae approaches do have the advantage of clearing the data as they're deleted from the main sheet.