title: Format Excel worksheets using for each loop VBA
body: <p>I have a workbook with 3 sheets. I would like to format each sheet the same using VBA (set font size, auto fit columns, sort). I found a piece of code to loop through the sheets:</p>
  
  <pre><code>Sub wsLoop()
  
     ' Declare Current as a worksheet object variable.
     Dim ws As Worksheet
  
     ' Loop through all of the worksheets in the active workbook.
     For Each ws In ActiveWorkbook.Worksheets
      'Code here
     Next ws
  
  End Sub
  </code></pre>
  
  <p>The original code included a message box that pops up with the sheet name. When inserting the code for formatting that I got from recording a macro, the loop only formatted the first sheet. I have been searching around, but I can't find a simple example. Shouldn't I just be able to drop in:</p>
  
  <pre><code>Cells.Select
  With Selection.Font
      .Name = "Calibri"
      .Size = 9
      .Strikethrough = False
      .Superscript = False
      .Subscript = False
      .OutlineFont = False
      .Shadow = False
      .Underline = xlUnderlineStyleNone
      .TintAndShade = 0
      .ThemeFont = xlThemeFontNone
  End With
  </code></pre>
  
  <p>Why does this only format the first sheet?</p>