回答編集履歴

1

説明の補足(太字箇所の追加)

2022/10/06 06:26

投稿

pig_vba
pig_vba

スコア807

test CHANGED
@@ -2,7 +2,7 @@
2
2
  Rows(i).Delete
3
3
  'ここで「C社商品×」は16行目に繰り上がっている
4
4
  ```
5
- しているからです。ループの途中で行削除しているため自動的に下のセルが繰り上がりを起こしているので、i=17の時には「C社商品×」は16行目にあります。なので一生参照されないんですね。
5
+ しているからです。ループの途中で行削除しているため自動的に下のセルが繰り上がりを起こしているので、i=17の時には「C社商品×」は16行目にあります。なので一生参照されないんですね。この仕様ですと**二行連続して×が入っている場所で毎回発生します。**
6
6
  愚直にi=i-1としても動きますが
7
7
  ```VBA
8
8
  For i = LastRow To 6 Step -1