HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > セル範囲の幅/高さを取得する(Width/Heightプロパティ)

即効テクニック

セル操作関連のテクニック

セル範囲の幅/高さを取得する(Width/Heightプロパティ)

(Excel 2000)
セル範囲の幅/高さをポイント単位で取得します。

 構文  Object.Width     セル範囲の幅  取得のみ
        Object.Height    セル範囲の高さ 取得のみ

 設定項目    内容
  Object      Rangeオブジェクト

ColumnWidthプロパティとRowHeightプロパティとの違いは、次のサンプルとサンプルの実行結果を見て把握してください。
●サンプル●
Sub WidthAndHeightSamp1()

    Range("B2:E5").Select

    With Selection
    MsgBox "ColumnWidth=" & .ColumnWidth & vbCr & _
            "Width=" & .Width & vbCr + vbCr & _
            "RowHeight=" & .RowHeight & vbCr & _
            "Height=" & .Height
    End With

End Sub
ColumnWidth、RowHeightプロパティが対象セル範囲の各々の列・行の幅や高さを取得するのに対して、Width、Heightプロパティは、対象セル範囲合計での幅や高さを取得します。また、RowHeightプロパティの結果を4倍すればHeightプロパティの値と同値になることから、両者の単位が同じであることがわかると思います。ColumnWidthプロパティの項で説明したように、ColumnWidthプロパティとWidthプロパティの間にはそのような関係は認められず、単位が違うのだということが理解していただけると思います。
また、対象セル範囲の各々の列幅・行の高さが違う場合においても、WidthプロパティとHeightプロパティは結果を返します。