目次
目的
- セルの Width と Height で何が取得できるのかを調べる。
- Top , Left も取得してみる。
- 取得した値の単位を知りたい。
その一例
- 白紙のワークシートでテストしてみます。
- 下記マクロを実行してみます。
Sub A1セルのWidhtとHeightを取得()
Debug.Print Range("A1").Width
Debug.Print Range("A1").Height
End Sub- VBE のイミディエイトウィンドウに以下の内容が出力されました。
- Range.Width プロパティ (Excel) | Microsoft Learn
- https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.width
- Range.Height プロパティ (Excel) | Microsoft Learn
- https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.height
ポイントは 1 インチ(25.4mm)/72 のようです。
- VBE の用語集 | Microsoft Learn
- https://learn.microsoft.com/ja-jp/office/vba/language/glossary/vbe-glossary#point
- VBE のイミディエイトウィンドウに以下の内容が出力されました。
- A1 セルの Top , Left を取得してみます。
Sub A1セルのTopとLeftを取得()
Debug.Print Range("A1").Top
Debug.Print Range("A1").Left
End Sub- VBE のイミディエイトウィンドウに以下の内容が出力されました。
- Range.Top プロパティ (Excel) | Microsoft Learn
- https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.top
- Range.Left プロパティ (Excel) | Microsoft Learn
- https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.left
- VBE のイミディエイトウィンドウに以下の内容が出力されました。
- 次は B2 セルの Width , Height , Top , Left を取得してみます。
Sub B2セルのWidth_Height_Top_Leftを取得()
Debug.Print Range("B2").Width
Debug.Print Range("B2").Height
Debug.Print Range("B2").Top
Debug.Print Range("B2").Left
End Sub- イミディエイトウィンドウの結果です。
- イミディエイトウィンドウの結果です。
- 次は複数セルの Width , Height , Top , Left を取得してみます。
Sub A1からC3のWidth_Height_Top_Leftを取得()
Debug.Print Range("A1:C3").Width
Debug.Print Range("A1:C3").Height
Debug.Print Range("A1:C3").Top
Debug.Print Range("A1:C3").Left
End Sub- イミディエイトウィンドウの結果です。
- イミディエイトウィンドウの結果です。
マクロストック
オートシェイプはポイント単位で配置できるので、オートシェイプを挿入して、セルのポイントとの一致をチェックしてみました。
Sub 全シェイプ削除()
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub
Sub 拡大表示(倍率)
ActiveWindow.Zoom = 倍率
End Sub
Sub 四角形挿入(左, 上, 幅, 高さ)
Dim a As Shape
Set a = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 左, 上, 幅, 高さ)
a.Line.Visible = msoFalse '線なし
a.Fill.ForeColor.SchemeColor = 5 '黄色で塗りつぶし
End Sub
Sub 全シェイプ選択()
ActiveSheet.Shapes.SelectAll
End Sub
Sub セルの位置をチェック()
Call 全シェイプ削除
Call 拡大表示(200)
Call 四角形挿入(0, 0, 54, 13.5)
Call 四角形挿入(54, 13.5, 54, 13.5)
Call 四角形挿入(54, 13.5 * 3, 54 * 2, 13.5 * 2)
Call 全シェイプ選択
End Sub
上記「セルの位置をチェック()」の実行結果です。
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。