Excel VBA(Visual Basic for Applications)の、RowsプロパティとRowプロパティについて、解説しました。
同じような件で、EitreRowプロパティとRowプロパティの違いについて疑問を感じる方もいらっしゃるようです。
このサイト『インストラクターのネタ帳』のログを眺めていても、
「entirerow row 違い」
といった検索によるアクセスを見かけます。
RowプロパティとEntireRowプロパティの違い
結論から言うと、
Rowは
行番号を表す整数を返すプロパティ
EntireRowは
行全体を表すRangeオブジェクトを返すプロパティ
です。
RowとEntireRowの違いをオブジェクトブラウザーで確認する
オブジェクトブラウザーで、RangeオブジェクトのRowプロパティの詳細ペインを確認すると、下図のように「As Long」と整数値を返すことが明記され、
RangeオブジェクトのEntireRowプロパティの詳細ペインを確認すると、下図のように「As Range」とRangeオブジェクトを返すことが明記されています。
RowとEntireRowのオブジェクト式としての特徴
RowプロパティはLongを返しますから、「.Row」の後ろに何らかのオブジェクト式が続くことはあり得ません。
EntireRowプロパティはRangeオブジェクトを返しますから「.EntireRow」の後ろに何らかのオブジェクト式が続くことがあり得ます。
Rowsプロパティを持つオブジェクトはいろいろありましたが、EntireRowプロパティは、Rangeオブジェクトにだけ存在しますから、Rowの前もEntireRowの前も、必ずRangeオブジェクトを返すオブジェクト式か、Rangeオブジェクトのセットされているオブジェクト変数になります。
ActiveCell.RowとActiveCell.EntireRowの違い
例えば、A3セルがアクティブな場合、
ActiveCell.Rowは「3」という行番号を返し、
ActiveCell.EntireRowは、3行目全体を表すRangeオブジェクトを返します。
最終更新日時:2021-08-19 16:14
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » EntireRowとRowの違い