1

我正在尝试删除第一个单元格中包含值“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

但不幸的是它不起作用。有任何想法吗?

4

1 回答 1

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
于 2013-04-15T06:36:37.443 回答