|
こんにちは。
Rows.Count とは何か?
Cells(Rows.Count, 列) とは何か?
Cells(Rows.Count, 列).End(xlUp) とは何か?
Cells(Rows.Count, 列).End(xlUp).Row とは何か?
というように考えていくと、少しは解り易いかもしれません。
たぶん、i-deさんが理解できないのは、i-deさんが想像している削除の順番と、このプログラムで削除する順番が逆だから、混乱しているのでしょうね。
行を削除すると、その行より下の行は、すべて上に移動(シフト)します。
だから、上から順に削除しようとすると、カウンタの処理が少し面倒になります。
逆に、下から順に削除していくと、その行を処理(削除)した後はその上の行を処理することになるので、その行より下の行が上に上がっても上がらなくても、カウンタの処理を変えなくて済みます。
う〜〜〜ん、我ながら解りにくい説明だな(苦笑)
まぁ、そんなわけで、行を順に調べて、条件により追加や削除をする場合は、下から順に調べるほうが、何かと楽な場合が多いのです。
これを踏まえると、
> 特にTo〜Step文の数値がなぜ3と-1なのかがわかりません。
これも解りやすいのではないでしょうか。
|
|