title: How to call sheet-specific macro from one Excel workbook in another?
body: <p>I'm trying to call an Excel macro that's in another workbook.  It's a sheet-specific macro, but the syntax given by Microsoft documentation and researching on the web, only gives a way to access a macro by workbook only.  That syntax is:</p>
  
  <pre><code>Application.Run ("testworkbook.xls!macroname")
  </code></pre>
  
  <p>What I need to do is have a sheet reference in there also, something like:</p>
  
  <pre><code>Application.Run ("testworkbook.xls!Sheet1.macroname")
  </code></pre>
  
  <p>I've tried this and MANY other variations, including having single or double quotes in there, but I always get the message that the macro cannot be found.</p>
  
  <p><strong>Edit:</strong>  With all the clues and much testing I found the answer.  You can access Sheet-specific subs, but you have to use the canonical name like 'Sheet1', you can't use the actual sheetname.  Apparently other workbooks don't access that information.</p>
  
  <p>So the format above works as long as you don't try to use the sheetname (and you may have to single quote the workbook name (by concatenating <code>CHR(39)</code> to either end).</p>