而不是整个行被删除,只有单元格(i,8)被删除。这段代码的作用是,直到最后一行为止的每个单元格,如果单元格以IM开头,突出显示它,并且如果相应的单元格小于4,则删除该行。谢谢为什么行(i).EntireRow.Delete删除单元而不是行?
for i = 1 to LastRow Then
If Left(Cells(i, 1), 2) = "IM" Then
Cells(i, 1).Interior.Color = RGB(140, 220, 100)
If Cells(i, 8).Value <= 4 Then
Rows(i).EntireRow.Delete
End If
End If
next i
您在代码中缺少某些东西,第一行有语法错误。 – Vityata
不知道为什么它不能正常工作,我怀疑你没有发布足够的信息('for i = 1 to lastrwo then'is a dead giveaway)。我会说一件事,因为'行(i)'已经是整行,所以不应该存在'EntireRow'。 'EntireRow'是你使用的范围,如果你的范围是不是*行的,例如'cells(3,1)'。 – paxdiablo
谢谢。我尝试了行(我)。首先删除,但它也没有工作。 LastRow似乎在我的代码的其他部分工作正常,LastRow = .Range(“A”&.Rows.Count).End(xlUp).Row – darrenvba