Heightプロパティ、Widthプロパティ
セル範囲の高さはHeightプロパティ、幅はWidthプロパティで取得します。
取得は出来ますが、設定は出来ません。
設定を行うには、高さはRowHeightプロパティ、幅はColumnWidthプロパティを利用します。
構文
1 2 |
Rangeオブジェクト.Height Rangeオブジェクト.Width |
Rangeオブジェクトにはセル範囲を指定します。
取得する単位は高さと幅のどちらもポイントになります。RowHeightの場合もポイントですが、ColumnWidthは文字数のためその点が異なります。
セル範囲は、単一セルでも、Range(“A1:C3”)のような四角形のセル範囲でも、Range(“A1,B2,E5”)のような離れたセルでも構いません。ただし、離れたセルを指定した場合は一番左上のセルの高さと幅が返却されます。
RowHeight、ColumnWidthとの違い
HeightとWidthに似ているプロパティで、RowHeightとColumnWidthがあります。
HeightとWidthがセル範囲の各セルの高さや幅の合計を取得できるのに対し、RowHeightとColumnWidthは単一セルの高さや幅の設定もしくは取得を行います。
プロパティ | 取得 | 設定 | 単位 |
---|---|---|---|
Height | セル範囲の高さを取得 | 不可 | ポイント |
Width | セル範囲の幅を取得 | 不可 | ポイント |
RowHeight | 単一セルの高さを取得 | 単一セルの高さを設定 | ポイント |
ColumnWidth | 単一セルの幅を取得 | 単一セルの幅を設定 | 標準フォントの半角数字0の1文字分の幅 |
サンプルコード
離れたセル範囲と連続するセル範囲での取得する高さと幅の違いを出力するサンプルコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub HeightWidthTest() Dim r As Range Range("A1").RowHeight = 10 Range("A2").RowHeight = 20 Range("A3").RowHeight = 30 Range("A1").ColumnWidth = 5 Range("B1").ColumnWidth = 10 Range("C1").ColumnWidth = 15 '// 離れたセル範囲 Set r = Range("A1,B2,C3") Debug.Print r.Height Debug.Print r.Width '// 連続するセル範囲 Set r = Range("A1:C3") Debug.Print r.Height Debug.Print r.Width End Sub |
実行結果
9.75
30
59.25
168.75
離れたセル範囲の場合は左上のA1セルの高さと幅しか取得できていませんが、A1からC3のセル範囲の場合は合計の高さと幅が取得できます。