如何根据值循环单元格,如果有一些相等的#N / A在VBA?

我想创build一个macros,包括循环一些单元格,直到单元格为空(value =“”)。 然而,有些单元格的“值”为#N / A …我想用它作为标记来删除任何行,但是,在检查单元格的值是否为空,循环会遇到许多等于#N / A的单元格。 这会导致一个错误,因为我猜这不是一个真正的值,而是一个运行命令(在这种情况下,Vlookup)返回,它不适用于该单元格的迹象? 给出的错误是types不匹配。 我如何解决这个问题…即。 尽pipe#N / A不是一个真正的值,我该如何让循环仍然检查单元的值?

这将find所有使用#N / A的单元格并删除单元格行。

 Sub DeleteRowsWithErrors() Application.ScreenUpdating = False Dim c As Range With Worksheets(1).Cells Do Set c = .Find(What:="#N/A", _ After:=.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False) If Not c Is Nothing Then .Rows(c.Row).Delete End If Loop While Not c Is Nothing End With Application.ScreenUpdating = True End Sub