title: Hide or Unhide all Excel Sheets Without Looping
body: <p>I have a workbook with 179 worksheets. I would like to either hide all worksheets (leaving one unhidden per the rules of Excel), or unhide all worksheets.</p>
  
  <p>Currently I have code that looks something like this (with the appropriate modifications depending on whether we are hiding/unhiding sheets):</p>
  
  <pre><code>For Each Sht in Wb.Worksheets
      Sht.Visible = xlSheetVisible
  Next Sht
  </code></pre>
  
  <p>With 179 worksheets, this takes 4-5 seconds to run, and I would prefer it ran much faster.</p>
  
  <p>I know that if I go into a workbook, manually select all sheets (except for one), then right-click and select <code>"Hide"</code>, all of the sheets will be instantly hidden. I have been unable to reproduce this in VBA code.</p>
  
  <p>As mentioned above, I need to somehow quickly hide all (but one) worksheets in a workbook and unhide all worksheets in a workbook <strong>without looping</strong>. Any help is much appreciated!</p>