プログラムを入力する
Option Explicit
'列幅全体をデータにあわせる
Private Sub CommandButton1_Click()
'選択セルの列幅を最適化する
Selection.EntireColumn.AutoFit
End Sub
'選択セルのデータに列幅をあわせる
Private Sub CommandButton2_Click()
Dim sr As String
'セルの選択範囲を取得
sr = Selection.Address
'選択セル幅に列幅を最適化する
Worksheets("Sheet1").Range(sr).Columns.AutoFit
End Sub
プログラム説明
セル幅を最適化するには、AutoFitメソッドを使います。
・列幅全体をデータにあわせる
EntireColumnプロパティで、列全体を指定し、AutoFitメソッドを実行しています。
・選択セルのデータに列幅をあわせる
Range( 選択セルアドレス ).Columnsプロパティで、選択セルに対してAutoFitメソッドを実行しています。
実行結果
■実行前
セル幅をあわせるデータは、F3の「エクセルVBA講座」とF4の「エクセル」が入力されています。
■F4にカーソルをおき、「列幅全体をデータにあわせる」ボタンを実行
F3の「エクセルVBA講座」にF列が最適化されています。
■F4にカーソルをおき、「選択セルのデータに列幅をあわせる」ボタンを実行
F4の「エクセル」にF列が最適化されています。