HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > タイトル行を除いて表の列幅を自動調整する

タイトル行を除いて表の列幅を自動調整する|Excel VBA

セル操作関連のテクニック

タイトル行を除いて表の列幅を自動調整する

(Excel 2000/2002/2003/2007/2010/2013/2016)

AutoFitメソッドを使用すると、セルの内容にあわせて列幅を最適化できます。
列A〜Cを自動調整するには、次のようにします。

    Columns("A:C").AutoFit 

このコードは「各列の中で最も長いセル幅」に自動調整しますが、表の上にタイトルがある場合や、表の下に注意書きがある場合など、指定したセル範囲だけで列幅を調整したいこともあるでしょう。
次のマクロは、列A(ここではセルA1とA16)に長いデータがあっても、セル範囲A3:C14だけで列幅を自動調整します。

Sub Sample1()
    Range("A3:C14").Columns.AutoFit  
End Sub

表が空白の行/列に囲まれた連続領域なら、CurrentRegionプロパティを使ってもよいでしょう。

Sub Sample2()
    Range("A3").CurrentRegion.Columns.AutoFit
End Sub
画像:コード実行によりデータが入力された表の列幅が自動で調整された