Home » エクセルマクロ・Excel VBAの使い方 » 行・列を表すRange » RowsとRowの違い

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba rowプロパティ rowsプロパティ」
という検索でこのサイト・インストラクターのネタ帳へのアクセスがありました。

Excel VBA(Visual Basic for Applications)で登場する、
 Rowプロパティ
と、
 Rowsプロパティ
の違いについて調べている方による検索キーワードでしょうか。

[スポンサード リンク]

RowプロパティとRowsプロパティの違い

結論から言うと、
 Row
   行番号を表す整数を返すプロパティ
 Rows
   を表すRangeオブジェクトを返すプロパティ
です。

結論としてはこれだけですが、Microsoftが、もう少し名前の付け方を考えていてくれたら、混乱する人が少なくて済んだであろうとは思います。
Rowプロパティは、例えば、RowNumberといった名前にしておいてくれたら、良かったように、私は感じます。

RowとRowsの違いをオブジェクトブラウザーで確認する

オブジェクトブラウザーで、RangeオブジェクトのRowプロパティの詳細ペインを確認すると、下図のように「As Long」と整数値を返すことが明記され、

RowsとRowの違い

ApplicationオブジェクトのRowsプロパティの詳細ペインを確認すると、下図のように「As Range」とRangeオブジェクトを返すことが明記されています。

RowsとRowの違い

書かれるオブジェクト式の特徴

完全一致条件で、Excelライブラリーを検索してみると、「Row」は、Rangeオブジェクトにだけ存在していますから、

RowsとRowの違い

「.Row」の前は、必ず、Rangeオブジェクトを返すオブジェクト式か、Rangeオブジェクトのセットされたオブジェクト変数になります。

これに対して「Rows」のほうは以下のようにいくつかのオブジェクトに用意されているので、

RowsとRowの違い

「.Rows」の前は、いろいろなケースが考えられます。

また、グローバルメンバーでもあるので上位のオブジェクト式を省略して、

RowsとRowの違い

いきなり「Rows」と書かれることもあり得ます。

また、Rowプロパティはデータを返すオブジェクト式ですから、「.Row」の直後にオブジェクト式が続くことは絶対にあり得ませんが、Rowsプロパティはオブジェクトを返すオブジェクト式ですから、「Rows」の直後に「Rows.Count」「Rows(1).Delete」のように何らかのオブジェクト式が続くこともよくあります。

▼2017年6月10日にオブジェクトブラウザーの使い方とともに、VBAのオブジェクト式の文法・オブジェクト変数等についてとことん解説するセミナー『Excel VBA講座 オブジェクト式解説編』を開催します。
オブジェクト式解説編

Home » エクセルマクロ・Excel VBAの使い方 » 行・列を表すRange » RowsとRowの違い

[スポンサード リンク]
[スポンサード リンク]

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » 行・列を表すRange » RowsとRowの違い

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

検索

最近じっくりと読まれている記事

.