【发布时间】:2015-11-05 09:48:05
【问题描述】:
我有一个 vba 代码,可以根据多个条件删除行。它工作得很好,我喜欢代码的简短和简单。但是,我注意到它以某种方式错过了一些包含标准的单元格。通常我想删除的列出标准中只有三个左右。任何线索为什么会发生这种情况??
代码如下:
Sub DeleteMyRows()
Dim Rng As Range, Cell As Range
Set Rng = Range(Range("B2"), Range("B" & Rows.Count).End(xlUp))
With Application
.ScreenUpdating = False
.EnableEvents = False
For Each Cell In Rng
If Cell = "ADD" Or Cell = "ANFR" Or Cell = "CADV" Or Cell = "DEF" Or Cell = "DEFD" Or Cell = "OIL" Or Cell = "PROP" Or Cell = "STAX" Or Cell = "UREA" Or Cell = "WWFL" Or Cell = "NGAS" Then
Cell.EntireRow.Delete
End If
Next Cell
End With
End Sub
谢谢!
【问题讨论】:
-
我的猜测是您的一个单元格包含,例如,“Add”,它不像 ADD 那样全部大写;因此它不被认为与您的搜索词“相同”。请参阅下面的答案,它消除了文本值之间一些常见的“不可见”差异。
标签: vba excel criteria delete-row