如果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写代码:)