而不是整個行被刪除,只有單元格(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