指定したセル範囲のすべての列幅を、標準スタイルのフォントで表示できる
文字数で設定します。プロポーショナルフォントの場合は、1文字分の幅の基
準値は「0」になります。標準スタイルは、ツールバーの[書式]−[スタイル]
で表示されるダイアログボックスで、ブック単位で設定できます。
[ツール]−[オプション]の[全般]パネルからはExcelのシステム単位でも設定
できますが、この場合、変更を反映させるにはExcelの再起動が必要です。
構文 Object.ColumnWidth 取得/設定
設定項目 内容
Object Rangeオブジェクト
次のサンプル1は、A〜C列の幅を標準スタイルのフォントで12文字表示できる
幅に設定します。
●サンプル1●
Sub ColumnWidthSamp1()
Columns("A:C").ColumnWidth = 12
' Range("A1:C1").ColumnWidth = 12 こちらでも結果は同じです
Range("A1") = "A列〜C列の列幅は" & Columns("A:C").ColumnWidth
End Sub
なお、列幅の取得時に複数列を指定した場合、すべての列幅が同じでなけれ
ばNullを返します。
●解説●
WidthプロパティはColumnWidthプロパティに似ていますが、こちらは列幅を
ポイント単位で取得します。この違いは、次のサンプル2で確認できます。
プログラム中で標準フォントのサイズを変更しているのですが、ColumnWidth
プロパティが影響を受けないのに対し、Widthプロパティは値が変わっていま
す。
●サンプル2●
Sub ColumnWidthSamp2()
With ActiveWorkbook.Styles("Normal").Font
'標準スタイルのフォントサイズを10に設定する
.Size = 10
End With
'セルA〜C列の列幅を10に設定する
Columns("A:C").ColumnWidth = 10
'セルA1にColumnWidthプロパティ
Range("A1") = Columns("A").ColumnWidth
'セルA3にWidthプロパティ
Range("A3") = Columns("A").Width
With ActiveWorkbook.Styles("Normal").Font
'標準スタイルのフォントサイズを11に設定する
.Size = 11
End With
'セルB1にColumnWidthプロパティ
Range("B1") = Columns("B").ColumnWidth
'セルB3にWidthプロパティ
Range("B3") = Columns("B").Width
End Sub
複数の列を指定した場合にもWidthプロパティは返す結果が異なります。
|