如果B列中的任何单元格包含stringX,则删除行并向上移动单元格
我不是很擅长excel的经验,也不确定是否可能,但是我正在用一个非常大的excel电子表格,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