Excel VBA:单元格颜色的elseIf条件不起作用
如果Elseif条件为真,我尝试使用Elseif在特定单元格上获得绿色,但它不起作用。正如您在代码中看到的,我希望elseif条件在单元格M5上获得绿色,如果条件为真,但不是。顺便说一句,如果条件是工作 谢谢你的帮助Excel VBA:单元格颜色的elseIf条件不起作用,excel,vba,Excel,Vba,如果Elseif条件为真,我尝试使用Elseif在特定单元格上获得绿色,但它不起作用。正如您在代码中看到的,我希望elseif条件在单元格M5上获得绿色,如果条件为真,但不是。顺便说一句,如果条件是工作 谢谢你的帮助 For j = 10 To LastRow If Cells(j, "M") = "" And Cells(j, "N") = "" Then Cells(5, "M").Inte
For j = 10 To LastRow
If Cells(j, "M") = "" And Cells(j, "N") = "" Then
Cells(5, "M").Interior.ColorIndex = 3
ElseIf Cells(j, "M") <> "" And Cells(j, "N") <> "" Then
Cells(5, "M").Interior.ColorIndex = 4
End If
Next j
1:第5行中的同一单元格用于所有行,这是预期的行为吗?2:您的代码根据最后一行将M5的颜色设置为红色或绿色,其中第M列和第N列中的两个单元格都为空,也不是都为空。当一个单元格为空白,另一个单元格为空白时,颜色不会发生变化。@VincentG是的,你有权利,但当我常德往返和时,颜色也不会发生变化。如果你看到我下面的答案。那个代码是我第一次尝试的,但它不起作用,所以我把它放在了Elseif上。你的代码工作得很好,并且做的和预期的一样。。。但也许不是你想要它做的。你期望的结果到底是什么?也许您可以编辑您的问题以添加一些预期结果的示例在第二个代码中,结果仅取决于单元格(LastRow,“M”)和单元格(LastRow,“N”)的值。您可以删除整个for循环并获得相同的结果。
For j = 10 To LastRow
If Cells(j, "M") = "" And Cells(j, "N") = "" Then
Cells(5, "M").Interior.ColorIndex = 3
Else
Cells(5, "M").Interior.ColorIndex = 4
End if