Excel VBA 行番号取得 「For Each」のとき

脳みそが古いので、「For j=1 to 」というスタイルをよく使います。「For Each」は苦手です。まして、Excelは普段使いません。ところが、For Eachが高速でなおかつ、要素がいくつあるかわからないなどのときは、断然有利です。
で、「For Each」処理中、注目しているセルの行(Row)番号を得る必要があり、ネットを見たのですが、そもそも検索が下手、Excelが苦手ということで、簡単なこともわかりません。で、試行錯誤の結果、次のようなものが偶然できました。行番号取得だけでこんなに苦労するなんて…(泣)

Sub 行番号取得()
'
'For Each で処理中の行番号を求める
'
Dim rg As Range
Dim row_position As Integer

For Each rg In Range("a1:a100")

row_position = rg.row
Debug.Print row_position

Next rg

End Sub

対象範囲は、たまたまこのようにしただけですので悪しからず。注目していただきたいのは、「row_position = rg.row」の末尾rowの先頭が大文字になっていないことです。VBE作業中「rg」のあとに「.」を入力すると、候補の中に「Row」は表示されます。素直に選択すればOKですが、手打ちで「row」を打ったあと、カーソルを他に移しても「Row」と自動修正してくれないのです。Excel2007を使っています。候補が「Row」と表示されたときに、それをクリック選択またはTabであれば、先頭が大文字に変わるのですが…。ということで、正しいにもかかわらず自動的に大文字に修正されないVBEにちょっと幻惑され、TAKAが違っているか〜と、回り道しました〜。基礎ができてない、知らないというのはなかなか大変なものです。(シクシク)