セル幅を最適化する
 セル幅を最適化するには、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メソッドを
  使用しています。

Excel97



戻る


Excel Word Access VBA! モーグ