title: Make macro run in specific workbook
body: <p>This seems like such a simple request, but I can't seem to find any answers online. 
  I have two open workbooks (lets say <strong>A</strong> and <strong>B</strong>). All I want to do is run a macro that I have created in <strong>Workbook B</strong> and run it (by click a shape that I've assigned a macro to) through <strong>Workbook A</strong>, but the macro running in <strong>Workbook B</strong> </p>
  
  <p>The macro I created for <strong>Workbook B</strong> is...</p>
  
  <pre><code>Sub HistoricalDataShift()
      Dim ws As Worksheet
      For Each ws In Sheets
          ws.Activate'
          Rows("18:1000").Select
          Selection.Copy
          Range("A19").Select
          ActiveSheet.Paste
          Rows("15:15").Select
          Selection.Copy
          Range("A18").Select
          ActiveSheet.Paste
      Next ws
  End Sub
  </code></pre>
  
  <p>Then I created a second macro in <strong>Workbook B</strong> that has...</p>
  
  <pre><code>Sub ApplicationRun()
      Application.Run ("WorkbookB.xlsm!HistoricalDataShift")
  End Sub
  </code></pre>
  
  <p>But each time I try the macro keeps running in <strong>Workbook A</strong>. </p>
  
  <p>If I could get a helping hand that would be appreciated. </p>