如果那么在Excel中

时间:2012-10-21 13:38:25

标签: excel excel-vba vba

我在Excel的visual basic中有这段代码。我试过没有a,b和c,只使用Range(“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

2 个答案:

答案 0 :(得分:0)

最后两行应该是:

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

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

修改

如果没有关于'为什么'宏不起作用的更多信息,就很难解决问题。

您是否知道可以在excel公式中使用It / Then逻辑?

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

细胞G2可以是:=IF(C2<6, 0,IF(C2<20,10,25))

答案 1 :(得分:0)

您可以使用公式解决此问题:

Cell F2:

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

Cell G2:

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

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