我不是很有excel的经验,也不确定这是否可能,但我正在处理一个非常大的Excel电子表格,B列中的一些单元格包含N/A
等值。
我想知道是否有办法创建一些删除所有行的条件语句,如果该行B列中的单元格包含N/A
,并在删除后移位单元格?
我真的很感激任何建议,因为这将为我节省大量时间。
非常感谢提前!
答案 0 :(得分:3)
如果这些是#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'替换为'#N / A'然后使用我的程序,虽然我没有测试过。 已添加是的,它应该有效:
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'替换一些单元格值作为删除行的机制:)
答案 1 :(得分:0)
自下而上工作,检查列B
中的值是否为N / A,如果找到,您可以使用:
ActiveSheet.Cells(currentRow,1).EntireRow.Delete