我想创建一个包含循环遍历某些单元格的宏,一直持续到单元格为空(value ="")。然而,一些细胞具有"值" #N / A ...我想用它作为标记来删除任何行,但是,在检查单元格的值是否为空时,循环将是遇到许多等于#N / A的单元格。这会导致错误,因为我猜这不是一个真正的值,而是指示命令运行(在这种情况下,Vlookup)返回它没有为该单元格工作?给出的错误是类型不匹配。我如何解决这个问题...即。尽管#N / A不是真正的值,我怎么能让循环仍然检查单元格的值?
答案 0 :(得分:1)
这将找到所有找到 #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