0o0dグッ

列幅を自動調整する(Excel 97/2000/2002/2003/2007)

#menu(): No such page: menu-pc

列幅を自動調整する(Excel 97/2000/2002/2003/2007)

手動操作で列幅を調整するのは簡単です。
列見出しの境界線をマウスでドラッグすればいいです。
たとえばB列の幅を広げるときは、列見出し[B]の右側にマウスポインタを合わせ
マウスポインタが変化したら列見出しを右方向にドラッグします。

もうひとつ、Excelには列の幅や行の高さを自動的に調整する機能があります。
操作は簡単。列見出しをダブルクリックするだけです。
実行すると、その列のうち最も長いデータが入力されているセルの幅に
列全体の幅が自動的に調整されます。
この操作をマクロ記録すると、次のようなコードが得られます。

Sub Macro1()
  Columns("B:B").EntireColumn.AutoFit
End Sub   

もちろん、次のように複数列を同時に自動調整することも可能です。

Sub Macro2()
  Columns("B:D").EntireColumn.AutoFit
End Sub   

EntireColumnプロパティは指定したセルを含む列全体を返すプロパティです。
Range("B2").EntireColumnはB列全体を返します。
もっとも、記録されたコードのColumns("B:B")が、すでにB列全体を表しています
のでB列の列幅を自動調整するには

Sub Sample1()
  Columns("B:B").AutoFit
End Sub   

でも同じことです。

Excelにはもうひとつ、列のうち特定のセルに列幅を自動調整する機能があります。
たとえば、B列に入力されている他のセルは無視して、セルB2に入力されている
データの長さにB列全体を自動調整する機能です。
この場合は、

Sub Sample2()
  Range("B2").Columns.AutoFit
End Sub   

このように、Columnsに対してAutoFitを実行します。
マクロ記録で得られるEntireColumnを使って

Sub Sample3()
  Range("B2").EntireColumn.AutoFit
End Sub   

とすると、Range("B2")を含む列(B列)全体が最も長いデータに自動調整されます。
両者のマクロは似ていますが、意味が異なりますので留意してください。