I have spent a long time developing an excel & vba based engineering application that I would eventually like to market. I would appreciate any of your comments in regard to the best way to protect excel sheets and vba macros.

I understand passwords are easily cracked in excel (I assume this is the case for vba also) - is there anything I can do to at least make this harder to achieve? Also is it possible to enable access only with a usb security device such as used with several commercial packages?