如何改进我的多个“if和else if”VBA代码

时间:2017-10-25 07:52:30

标签: excel vba if-statement

我有一系列数据,根据它我必须决定它是TE还是LE边缘。我有几个条件,我试图在以下代码中总结。 代码正在运行,但我留下了一些空白区域,这意味着不考虑某些条件。

更具体地说,我认为就是这个:

['Application' 'Application' 'Virtual Reality' 'Artificial Intelligence']

猜猜这是所有这些问题和Ifse ElseIf,但我找不到解决方案。

如果您有任何建议,请告诉我。谢谢。

ElseIf Val(Range("G" & i).Value) > 0.02149 Then Range("N" & i).Value = "TE"

1 个答案:

答案 0 :(得分:0)

欢迎来到SO。在某些情况下,您的代码不支持这些情况。如果:

  1. Range("A" & i).Value <> Range("A" & i + 1).Value
  2. Range("G" & i).Value = Range("G" & i + 1).Value
  3. Val(Range("G" & i).Value) < 0.01898
  4. Val(Range("G" & i).Value) = 0.02149
  5. 此外,您不能像在If语句中那样使用两个不等式。请改用And,例如

    ElseIf 0.01898 < Val(Range("G" & i).Value) And Val(Range("G" & i).Value) < 0.02149 Then
    

    并且您不必使用ElseIfIf相反的条件,只需使用Else

    If i Mod 2 <> 0 Then
        ...
    Else
        ...