列幅を設定する(ColumnWidthプロパティ)
 指定したセル範囲のすべての列幅を、標準スタイルのフォントで表示できる
文字数で設定します。プロポーショナルフォントの場合は、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プロパティは返す結果が異なります。

Excel2000



戻る


Excel Word Access VBA! モーグ