プロが教えるわが家の防犯対策術!

こんにちは。

vlookup関数でB列に"#N/A"のエラーメッセージが出ている行をマクロで
削除したいのですが上手くいきません。

ご教示お願いします。

A 回答 (1件)

こんばんは!



一例です。

Sub Sample1()
On Error Resume Next '←念のため
Range("B:B").SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
End Sub

B列に入っているのはVLOOKUP関数だというコトですので、
上記のコードで大丈夫だと思いますが、
他のエラー(#DIV/0! や #REF! 等々)すべてのエラーが削除されてしまいます。
他のエラーもあり、#N/A だけの行を削除する場合は↓のコードにしてみてください。

Sub Sample2()
Dim c As Range, myErr As Range, myRng As Range
On Error Resume Next
Set myErr = Range("B:B").SpecialCells(xlCellTypeFormulas, xlErrors)
If Not myErr Is Nothing Then
For Each c In myErr
If c = CVErr(xlErrNA) Then
If myRng Is Nothing Then
Set myRng = c
Else
Set myRng = Union(myRng, c)
End If
End If
Next c
myRng.EntireRow.Delete
End If
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 5
この回答へのお礼

おはようございます。ご回答ありがとうございました。綺麗に見事にエラー行が削除されました。ここ数日間色々と試してみたものの上手くいかず・・・
助かりました。今回は、#N/Aだけでしたが何かの機会で他エラーメッセージが出た場合はSample2を試してみたいと思います。

お礼日時:2016/03/01 08:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A