Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » TopLeftCell.Addressとは

対象:Excel2010, Excel2013, Windows版Excel2016

TopLeftCell.Addressとは

このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「shape.topleftcell.addressとは」
という検索キーワードに気づきました。

[スポンサードリンク]

ShapeオブジェクトのTopLeftCellプロパティを使ったサンプルマクロ

参考になりそうな簡単なマクロをご紹介します。

アクティブなワークシートに、四角形を1つだけ挿入して、以下のSubプロシージャを実行しましょう。


Sub TopLeftCellとAddressの確認()
 Dim shp As Shape
 Set shp = ActiveSheet.Shapes(1)

 Dim rng As Range
 Set rng = shp.TopLeftCell

 Debug.Print rng.Address
End Sub

例えば下図のように、B2セルからD4セルにかけて四角形が存在しているときに、上記マクロを実行すると、

TopLeftCell.Addressとは

四角形の左上のセル(TopLeftCell)のセル番地(Address)「$B$2」が、イミディエイトウィンドウに出力されます。

サンプルマクロで利用しているオブジェクト式

ワークシート上に存在する図形の左上の位置にあるセルを表す、

TopLeftCell.Addressとは

Rangeオブジェクトを取得するのが、
  Dim rng As Range
  Set rng = shp.TopLeftCell
の部分で使われている、ShapeオブジェクトのTopLeftCellプロパティです。

TopLeftCell.Addressとは

Shape.TopLeftCellプロパティはRangeオブジェクトを返しますから、「.TopLeftCell.Address」は、結局RangeオブジェクトのAddressプロパティを取得している式です。

TopLeftCell.Addressとは

Range.Addressプロパティの2つの引数にFalseを指定して、
  Debug.Print rng.Address(False, False)
とすれば、相対参照でセル番地を取得できます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » TopLeftCell.Addressとは

TrackBack:1

TrackBack URL
TopLeftCellの行番号・列番号 from インストラクターのネタ帳
Shapeなどの左上のセルを表すRangeオブジェクト、行番号・列番号を取得するオブジェクト式を解説しています。

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » TopLeftCell.Addressとは

「Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.