title: VBA: Protecting Shape Objects only
body: <p>I read quite a few posts but didn't find anything similar to what I'm trying to achieve. I basically have a few <code>Shape</code> objects in my worksheet which have macros assigned to them. I would like to protect these objects using VBA so users can interact with them but not edit them in any way. I however, would like the users(and my VBA) to be able to freely manipulate the rest of the workbook as they like. </p>
  
  <p>I tried <code>ActiveSheet.Protect DrawingObjects:=True</code> but the problem is that the usability of the rest of the application is quite limited as well. For example I have a checkbox that hides/unhides a range of cells but when the sheet is protected, I cannot execute the macro and I get an exception. Is there a way to protect the <code>Shape</code> objects only and basically leave the rest of the workbook unrestricted as if the sheet was unprotected?</p>
  
  <p>Thanks,
  Dimitar</p>