Excel VBA UDF格式 – 在计算之前更改参数值

我试图在Excel VBA中编写公式来计算:RR =((A /(A + B))/(C /(C + D)))

当四个参数(A,B,C,D)中的任何一个都是0时,我想在计算中将它们的值更改为0.5。

有这样一个简单的方法吗? 我相信我的格式是错的,或者我错了。 任何有用的提示将不胜感激。

我试过了:

Function RR(A, B, C, D) As Double If A = 0 And B = 0 Then A = 0.5 B = 0.5 RR = ((A / (A + B)) / (C / (C + D))) ElseIf A = 0 Then A = 0.5 RR = ((A / (A + B)) / (C / (C + D))) ElseIf B = 0 Then B = 0.5 RR = ((A / (A + B)) / (C / (C + D))) ElseIf C = 0 Then C = 0.5 RR = ((A / (A + B)) / (C / (C + D))) ElseIf D = 0 Then D = 0.5 RR = ((A / (A + B)) / (C / (C + D))) ElseIf A = 0 And D = 0 Then A = 0.5 And D = 0.5 RR = ((A / (A + B)) / (C / (C + D))) Else: RR = ((A / (A + B)) / (C / (C + D))) End If End Function 

试试这个:

 Function RR(A, B, C, D) As Double If A = 0 Then A = 0.5 If B = 0 Then B = 0.5 If C = 0 Then C = 0.5 If D = 0 Then D = 0.5 RR = ((A / (A + B)) / (C / (C + D))) End Function