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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-04-09 (火) 10:19:12