如何解决vba中的运行时错误6?
我有以下代码
TextBox50.Value = Round((CDbl(TextBox3.Value) / (CDbl(Worksheets("calculation").Range("O4").Value)) - 1) * 100, 1) & "%"
TextBox3 = Value
的值TextBox3 = Value
Worksheets("calculation").Range("O4")
TextBox3 = Value
Worksheets("calculation").Range("O4")
。
问题是如果Range(O4)的值是零,那么它本质上意味着0/0这就是为什么我得到运行时6,溢出错误。
无论如何,我可以用0replace0/0。
任何帮助深表感谢。 谢谢
你可以使用IIF():
TextBox50.Value = Round((CDbl(TextBox3.Value) / IIF(CDbl(Worksheets("calculation").Range("O4")=0,1,CDbl(Worksheets("calculation").Range("O4")))
如果另一个为0,将返回TextBox3中的值。
像这样的东西应该适用于你有零分的问题:
If CDbl(Worksheets("calculation").Range("O4").Value) = 0 Then TextBox50.Value = (0 - 1) * 100, 1) & "%" Else TextBox50.Value = Round((CDbl(TextBox3.Value) / (CDbl(Worksheets("calculation").Range("O4").Value)) - 1) * 100, 1) & "%" End If