VBA:添加一个条件到一个ElseIf循环

如果列F中的值不是0或#VALUE,那么我想在此循环中添加一个条件,将“差异”置于J列中。 任何和所有的build议,将不胜感激。 谢谢,目前的代码如下:

Sub ERS_Vlookup() Dim Lastrow As Long Dim h As Long For h = 5 To Lastrow If IsError(ActiveSheet.Range("H" & h).Value) Or IsError(ActiveSheet.Range("F" & h).Value) Then ActiveSheet.Range("J" & h).Value = " " ElseIf ActiveSheet.Range("H" & h).Value <> " " And _ ActiveSheet.Range("F" & h).Value = 0 Then ActiveSheet.Range("J" & h).Value = "Paid" Else ActiveSheet.Range("J" & h).Value = "Processed Not Yet Paid" End If Next h 

表面看来,这应该是有效的,但是我认为你需要考虑一下,看看这些条件是否相互排斥。

 Sub ERS_Vlookup() Dim Lastrow As Long Dim h As Long For h = 5 To Lastrow If IsError(Range("H" & h).Value) Or IsError(Range("F" & h).Value) Then Range("J" & h).Value = vbNullString ElseIf Range("H" & h).Value <> vbNullString And Range("F" & h).Value = 0 Then Range("J" & h).Value = "Paid" ElseIf Not IsError(Range("F" & h).Value) And Range("F" & h).Value <> 0 Then Range("J" & h).Value = "Discrepancy" Else Range("J" & h).Value = "Processed Not Yet Paid" End If Next h End Sub 

你可以使用And函数来添加布尔值循环我build议你访问这个网站http://www.excel-easy.com/vba/loop.html欲了解更多信&#x606F;