即効テクニック

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

セル幅を最適化する

(Excel 97)
●詳細●
セル幅を最適化するには、AutoFitメソッドをColumnsプロパティに対して使用します。
サンプルマクロでは、セルにデータを入力して、メッセージボックスで最適化する
内容(対象)を表示してから、セル幅を最適化しています。

●準備●
新規ブックの標準モジュールに次のマクロを作成してください。
●サンプル●
Sub Sample()
    '(1)
    ActiveSheet.Range("A1").Value = "☆最適化☆"
    MsgBox "A列のセル幅を最適化します"
    ActiveSheet.Columns("A").AutoFit
    
    '(2)
    ActiveSheet.Range("B2").Value = "☆最適化☆"
    ActiveSheet.Range("C2").Value = "☆☆最適化☆☆"
    MsgBox "B列C列のセル幅を最適化します"
    ActiveSheet.Columns("B:C").AutoFit
  
    '(3)
    ActiveSheet.Range("D3").Value = "☆最適化☆"
    ActiveSheet.Range("E3").Value = "☆☆最適化☆☆"
    ActiveSheet.Range("D5").Value = "☆最適化しないよ☆"
    ActiveSheet.Range("E6").Value = "☆☆最適化しないよ☆☆"
    MsgBox "D列E列のセル幅をセルD3とセルE3のデータに合わせて最適化します"
    ActiveSheet.Range("D3:E3").Columns.AutoFit

    '(4)
    ActiveSheet.Range("F10:F15").Value = "☆最適化☆"
    ActiveSheet.Range("G10:G15").Value = "☆☆最適化☆☆"
    ActiveSheet.Range("H10:H15").Value = "☆☆☆最適化☆☆☆"
    ActiveSheet.Range("F10:H15").Select
    MsgBox "選択されているセルのセル幅を最適化します"
    Selection.EntireColumn.AutoFit

    MsgBox "最適化終了"

End Sub
●補足説明●
  1. A列のセル幅を最適化しています。
  2. B列とC列のセル幅を同時に最適化しています。
  3. D列とE列の特定のセル(セルD3とセルE3)に合わせて最適化しています。 セルD5とセルE6のデータはセル幅から飛び出した状態で表示されます。
  4. 選択されている範囲のセル幅を最適化しています。 EntireColumnプロパティで、選択範囲を列全体に広げた上でAutoFitメソッドを使用しています。