我有以下代码
TextBox50.Value = Round((CDbl(TextBox3.Value) / (CDbl(Worksheets("calculation").Range("O4").Value)) - 1) * 100, 1) & "%"
TextBox3 = Value
中Worksheets("calculation").Range("O4")
的值。
问题是如果Range(O4)的值为零,那么它本质上意味着0/0,这就是为什么我得到运行时6,溢出错误。
无论如何我可以用0替换0/0。
非常感谢任何帮助。谢谢
答案 0 :(得分:3)
这样的事情应该适用于你有零除问题的情况:
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
答案 1 :(得分:3)
您可以使用IIF():
TextBox50.Value = Round((CDbl(TextBox3.Value) / IIF(CDbl(Worksheets("calculation").Range("O4")=0,1,CDbl(Worksheets("calculation").Range("O4")))
如果另一个为0,则返回TextBox3中的值。