6番目のセルに正しい値が含まれていない行をいくつか削除しようとしました。そして、ここに私のコードです:VBA不適切な離散行を削除する方法
dim i As Integer
for i = 1 to Row
If Worksheets("Data").Cells(i,6).Text <>"a" Then
Worksheets("Data").Rows(i).Delete
End If
Next i
そして私は、私はライン1(AAA)を削除した場合、前者のライン2(BBB)は1行目となり、おそらくそれは、私が残しておきたい行ではないことがわかってきましたしかし、私はすでに2になったので、実際にはこの行(bbb)を逃して、直前の行3(ccc)に直接移動します。
1 aaa => bbb
2 bbb => ccc
3 ccc
この問題の良いアルゴリズムがあるかどうかわかりません。ありがとうございました。
下記参照、行を削除した後の反復だけでなく、ループの制限を減らすことができるように、私はあなたがwhileループを使用することをお勧めここで 'If'の中に入ると、行を削除した後、' i = i-1'という行を追加します。 –
ああ、私はいつも削除した元の行から始めるのですか? – Hiddenllyy
行を削除する場合はyes、そうでない場合はyesを選択します。行をスキップしたくない場合 –