VBAでFor~Next文内でMATCH関数を使用する場合の、エラー値の対処法に関して

画像

Visual Basic | Excel58閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

ご回答ありがとうございます。 Unionというまとめて整理するやり方があるのですね。 大変勉強になりました。 効率的なご回答を頂きましたのでベストアンサーに選ばせて 頂きます。また何かありましたらその際はよろしくお願いします。

ThanksImg質問者からのお礼コメント

ありがとうございました!

お礼日時:9/25 20:56

その他の回答(1件)

0

行を 削除して 上に詰める場合 上の行から 削除すると 下の行番号が 変わってしまいます。 そこで 下の行から 処理をします。 For I = Cells(Rows.Count, "E").End(xlUp).Row To 2 Step -1 そして E列のI行が X列の中に なければ If WorksheetFunction.CountIf(Columns("X:X"), Cells(I, "E")) = 0 Then そのセルを削除しして 上に 詰めるです。 Cells(I, "E").Delete Shift:=xlUp End If Next まとめると For I = Cells(Rows.Count, "E").End(xlUp).Row To 2 Step -1 If WorksheetFunction.CountIf(Columns("X:X"), Cells(I, "E")) = 0 Then Cells(I, "E").Delete Shift:=xlUp End If Next エラーはありません。

ご回答ありがとうございます。 おっしゃるとおり上からやると行番号が変わってしまいますね。 頂いた内容でやりたい内容が実現できました。ありがとうございます。 ただ今回は別のご回答でより効率的な方法をご教示頂いたため、そちらの方をベストアンサーに選ばせて頂きました。 また何かありましたら是非よろしくお願いします。