如果B列中的任何单元格包含stringX,则删除行并向上移动单元格

我不是很擅长excel的经验,也不确定是否可能,但是我正在用一个非常大的ex​​cel电子表格,B列中的一些单元格包含N/A这样的值。

我想知道是否有一种方法来创build一个条件语句,将删除所有行,如果该行的B列中的单元格包括N/A ,并删除后,移动单元格?

我真的很感激任何意见,因为这将节省我很多时间。

提前谢谢了!

如果这些是#N / A(系统)错误,那么使用GoTo Special (常量,错误)使得这个直接:

 Sub DeleteErrorRows() On Error Resume Next 'in case there are no errors in cells Range("B:B").SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete On Error GoTo 0 'resume error handling End Sub 

我怀疑有可能使用Replace 'N / A'replace'#N / A',然后使用我的程序,虽然我没有testing过这个。 添加是的,它应该工作:

 Sub DeleteErrorRows() Range("B:B").Replace "N/A", "#N/A" On Error Resume Next 'in case there are no errors in cells Range("B:B").SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete On Error GoTo 0 'resume error handling End Sub 

其实,我认为这可能会更普遍应用,用'#N / A'replace一些单元格值作为删除行的机制:)

从下往上工作,检查列B的值为N / A,如果find,可以使用:

 ActiveSheet.Cells(currentRow,1).EntireRow.Delete