我正在尝试删除第一个单元格中包含值“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
但不幸的是它不起作用。有什么想法吗?
答案 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