删除包含特定数据的Excel VBA中的完整行

时间:2013-04-15 06:29:42

标签: excel vba

我正在尝试删除第一个单元格中包含值“THD”的完整行。内容可能看起来像“THD_C_L10.0W5.0H15.0P7.5”,但THD始终存在。

我尝试了以下循环:

For i = 1 To ActiveSheet.UsedRange.Rows.Count
    If InStr(1, LCase(Tabelle2.Cells(i, 1)), "THD") <> 0 Then
        Rows(i).EntireRow.Delete
    End If
Next

但不幸的是它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

删除行时,必须从最后一个元素开始循环并直接进入第一个元素。 因此,而不是:

For i = 1 To ActiveSheet.UsedRange.Rows.Count

你应该有这样的东西:

For i = ActiveSheet.UsedRange.Rows.Count to 1 Step -1

一个不应影响当前子InStr的附加提示还有一个您可以使用的附加参数。这一行与你的一行相同:

If InStr(1, Tabelle2.Cells(i, 1), "THD",vbTextCompare) <> 0 Then