title: Set column widths of one sheet the same as another
body: <p>I'm trying to write code that sets the column widths in one sheet to be the same as the column widths in another sheet. It didn't go as straightforward as I thought it would, so I'm posting it here in an attempt to determine if it can be accomplished in an easier manner. </p>
  
  <p>It seems that when I read the width of the column in one sheet, in order to set the width of the column in the other sheet I have to add a correction factor to get the right width. The correction factor is (ReadWidth / 0.75 - 5) / 7.</p>
  
  <p>The code I am using is as follows:</p>
  
  <pre><code>Function SetWidths()
  Dim Cntr As Integer, Column As String, Sht1 As String, Sht2 As String
  Dim Sht1Wid As Double, Sht2Wid As Double, Sht1WidSet As Double, Sht2WidSet As Double
  
  Sht1 = "Sheet1"
  Sht2 = "Sheet2"
  
  For Cntr = 1 To 55
  
      Column = Num2Col(Cntr)
  
      Sht1Wid = Worksheets(Sht1).Range(Column &amp; "1").Width                ' read width
      Sht2Wid = Worksheets(Sht2).Range(Column &amp; "1").Width
      Sht1WidSet = (Sht1Wid / 0.75 - 5) / 7                               ' correction factor
      Sht2WidSet = (Sht2Wid / 0.75 - 5) / 7
  
      If Sht1Wid &lt;&gt; Sht2Wid Then
          If Sht1Wid &gt; Sht2Wid Then                                       ' set width to largest
              Worksheets(Sht2).Columns(Column).ColumnWidth = Sht1WidSet
          Else
              Worksheets(Sht1).Columns(Column).ColumnWidth = Sht2WidSet
          End If
      End If
  
  Next Cntr
  
  End Function
  </code></pre>
  
  <p>Num2Col is another function that returns a string for the column based upon the number. </p>
  
  <p>Does anyone have an easier way to do this? It seems odd that the correction factor has to be added. </p>