如果ELSE THEN在Excel中

我在Excel的visual basic中有这个代码。 我尝试没有a,b和c,只使用范围(“C2”),F2,G2,但它不工作。 我真的不知道为什么这不起作用,有人可以帮我吗? 🙂

Sub pourcentremiseport() Dim a As Integer Dim b As Integer Dim c As Integer a = Range("C2").Value If a < 6 Then b = 9.6 c = 0 ElseIf a >= 6 And a < 20 Then b = 0 c = 10 Else b = 0 c = 25 End If b = Range("F2").Value c = Range("G2").Value End Sub 

最后两行应该是:

  Range("F2").Value = b Range("G2").Value = c 

VBA中的一般规则是=符号将左对象设置为等于右对象。

编辑

如果没有更多的关于“为什么”这个macros的信息不能正常工作,那么很难解决这个问题。

你知道你可以在Excel公式中使用It / Then逻辑吗?

对于单元格F2,可以使用: =IF(C2<6, 9.6,IF(C2<20,0,0))

并且单元G2可以是: =IF(C2<6, 0,IF(C2<20,10,25))

你可以用公式解决这个问题:

单元格F2:

 =IF(C2<6,9.6,IF(AND(C2>=6,C2<20),0,0)) 

细胞G2:

 =IF(C2<6,0,IF(AND(C2>=6,C2<20),0.1,0.25)) 

使用公式处理错误比使用VBA更容易; less写代码:)