title: Reverse order of For Each loop
body: <p>One of the most powerful things about VB is ability to loop through objects in a collection WITHOUT referring to the index - <code>for each</code> loop.</p>
  
  <p>I find it very useful only want to remove objects from a collection.</p>
  
  <p>When doing removing objects from a predefined such as rows on a spread sheet the code is simpler if I use indexing and start at the largest and work back to the first. (Step -1 with an iterator) (otherwise requires an offset as the For each moves the enumerator pointer back to the previous object once the active one is deleted)</p>
  
  <p>eg.</p>
  
  <pre><code>For intA = 10 to 1 step -1 
      ' ...
  Next
  </code></pre>
  
  <p>What about when using a For Each | Next
  eg.</p>
  
  <pre><code>For each rngCell in Selection.Cells
      ' ...
  Next
  </code></pre>
  
  <p>How could I loop <strong>backwards</strong> using the <code>for each</code> loop syntax?</p>