134:マクロ素材 今あるセル番地を調べる

100:エクセル

今あるセルの位置を知りたい時があると思います。そんなときの記述をご紹介します。

セル番地

以下に、マクロの記述を記載します。内容は、A1のセルに、今あるセル番地を記載することです。

Sub セル番地をA1に表示する()
 Cells(1, 1) = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False)
End Sub

上記マクロを動かすと、A1セルに、F12のような、今あるセルの番地が表示されます。

変数を介してみる

途中に変数を入れても同じです。

Sub セル番地をA1に表示する()
 セル番地 = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False)
 Cells(1, 1) = セル番地
End Sub

応用

少し、応用して、セル番地から、そのセルの行のみを調べる場合、このセルがA1にあることから、B1のセルに、=+MID(B2,2,10)*1 のような式を立てると、今セルのある行数が計算されます。これで、今あるセルの行数が調べられます。

下の図は、セル番地を表示する位置をB2にして、C2に計算式を立てたものです。セル番地の行数のみを変数にする場合には、行数変数 = cells(2,3) としてあげれば、行数変数にセル番地の行数を入れることができます。

引数を省略すると

Selection.Address()と、括弧の中の引数を削除すると、$F$12のような、絶対地指定の表示となります。

Sub セル番地をA2に表示する()
  Cells(2, 1) = Selection.Address()
End Sub

上記の場合には、A2セルに表示されます。

今、使われている最後の行数を調べる

Sheet1の使われているレンジの行をカウントする。のような感じでしょうか?

Sub さいかぎょう()
 さいか = ActiveSheet.UsedRange.Rows.Count
 MsgBox さいか
End Sub

コメント

タイトルとURLをコピーしました