列幅を自動調整する(Excel 97/2000/2002/2003/2007)
列幅を自動調整する(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列)全体が最も長いデータに自動調整されます。
両者のマクロは似ていますが、意味が異なりますので留意してください。