Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで現在の行を取得する

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2509(ビルド19231.20194クイック実行)

「excel vba 現在の行」
といった検索でアクセスがありました。

ここで「現在の行」と表現されているのは、以下の2つが考えられます。

  • 現在の行番号
  • 現在の行を表すオブジェクト

現在の行を取得するサンプルマクロ

現在の行番号を取得したいのなら、以下のExcelマクロが参考になるでしょう。

Sub 現在の行番号を取得する()
 Dim row_num As Long
 row_num = ActiveCell.Row
 MsgBox row_num
End Sub

一方、現在の行を表すオブジェクトを取得したい場合は、以下のExcelマクロです。

Sub 現在の行を表すオブジェクトを取得する()
 Dim row_rng As Range
 Set row_rng = ActiveCell.EntireRow
 row_rng.Select
 MsgBox row_rng.Row
End Sub

2種類のプロパティ

拙著『いちばんやさしいExcel VBAの教本』の、「Lesson 52. プロパティは2種類あることを知っておきましょう」に、Excel VBAのプロパティには単なるデータを返すものと、オブジェクトを返すものの2種類があることを書きました。

上記の現在の行番号を取得するマクロで使用しているRange.Rowプロパティが、

 row_num = ActiveCell.Row

セルの行番号を表す整数(単なるデータ)を返すプロパティです。

また、現在の行を表すオブジェクトを取得するマクロで使っている、Range.EntireRowは、

 Set row_rng = ActiveCell.EntireRow

行全体を表すRangeオブジェクトを返すプロパティです。

Range.EntireRowの戻り値はRangeオブジェクトですから、Range.Selectメソッドで選択したり、

 row_rng.Select

Range.Rowプロパティで行番号を取得できます。

 MsgBox row_rng.Row
[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » VBAで現在の行を取得する

「行・列を表すRange」の記事一覧

検索


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

.