我在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
答案 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更容易处理错误;写的代码少:)。