VBA For循环+ if语句错误

时间:2018-07-30 20:17:48

标签: excel vba for-loop if-statement

我试图创建一个查找输入框值的循环,选择具有与输入框值匹配的单元格,然后删除其整个行。 由于某种原因,看来我的条件根本不起作用。

* Totalrow =我的双精度变量,表示工作表上的总行数 * tenroxcode =我用于输入框的字符串变量

For i = 1 To totalrows
    If tenroxcode = Range("E" & i).Value Then
        Range("E" & i).Select
        ActiveCell.EntireRow.Delete
    End If
Next

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

您需要向后循环:

For i = totalrows to 1 step -1
    If tenroxcode = Range("E" & i).Value Then Rows(i).Delete
Next

答案 1 :(得分:0)

另一种选择应该更快。

dim r as variant

r = application.match(tenroxcode, columns("E"), 0)
do while not iserror(r)
    rows(r).entirerow.delete
    r = application.match(tenroxcode, columns("E"), 0)
loop