title: Worksheet_Calculate runs without any trigger
body: <p>I have encountered a strange event behavior, which I do not understand. Please help. Following is an explanation of the problem.</p>
  
  <ol>
  <li>In my <strong>Worksheet_Change</strong> event, at the beggining I have set <strong>Application.events = False</strong>.
  <ol start="2">
  <li>Then I run main code that changes few things including formulas. </li>
  <li>After the main code is done I reset the <strong>Application.EnableEvents = True</strong>. </li>
  <li>Then the <strong>Worksheet_Change</strong> event ends at <strong>Exit Sub</strong>.</li>
  </ol></li>
  <li>Right after the code finishes it triggers <strong>Worksheet_Calculate</strong> event, even when there is no code after <strong>Application.EnableEvents = True</strong>.
  <em>I do not want this event to be triggered</em>.</li>
  </ol>
  
  <p>Here is a snapshot of a code:</p>
  
  <pre><code>Private Sub Worksheet_Change(ByVal Target As Range)
  
  Application.EnableEvents = False
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  
  Main code
  
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
  Application.EnableEvents = True
  
  Exit Sub
  
  Private Sub Worksheet_Calculate() 'triggered without any reason?
  ... 'code here
  exit sub
  </code></pre>
  
  <p>So the question is : How is it possible that after the code ends, it immediately triggers the <strong>Worksheet_Calculate</strong> event? There is nothing after the <strong>Application.EnableEvents = True</strong> to trigger this event.</p>
  
  <p>Thank you for help. I don't understand this one.</p>
  
  <h1>Edit and possible explanation</h1>
  
  <p>I've been thinking and testing. There may be nothing wrong with that behavior. 
  Both events are triggered at the same time and it has to pick one code to run before another. The <code>main code</code> inside <code>Private Sub Worksheet_Change(ByVal Target As Range)</code> is <strong>NOT</strong> triggering the <code>Private Sub Worksheet_Calculate()</code>. The latter is in queue, waiting for it's turn.</p>