我的VBA函数尝试运行时返回Value错误

时间:2019-07-16 07:39:15

标签: excel vba

我的自定义VBA函数返回#VALUE!输入函数之一为SUM(##:##)时出错。

每当我仅输入前两个变量时,该函数运行良好。但是,第三个变量输入是SUM函数,该函数引发错误。我认为VBA不能将其识别为数组或某种东西是一个问题,但是我不确定如何解决此问题。将函数写入excel工作表本身时,不会出现错误。

Function CommissionPicker(ProfitMargin, Profit, Revenue)

If ProfitMargin < 0.2 Then
    CommissionPicker = 0 * Profit
ElseIf ProfitMargin < 0.25 Then
    CommissionPicker = 0.05 * Profit
ElseIf ProfitMargin < 0.3 Then
    CommissionPicker = 0.1 * Profit
ElseIf ProfitMargin < 0.4 Then
    CommissionPicker = 0.15 * Profit
ElseIf ProfitMargin < 0.5 Then
    CommissionPicker = 0.25 * Profit
ElseIf ProfitMargin < 0.6 Then
    CommissionPicker = 0.33 * Profit
Else
    CommissionPicker = (Profit - 0.5 * Revenue) * 0.5 + (0.5 * Revenue) * 0.33
End If

End Function

如果利润率低于0.2,则预期结果应为0 x利润;如果利润率低于0.25,则预期结果应为0.05 x;如果利润率低于0.3,则为0.1 x利润;如果利润率低于0.3,则为0.15 x利润。如果利润率低于0.5,则为0.4,0.25 x利润;如果利润率低于0.6,则为0.33 x利润,并遵循以下公式:(利润-0.5 *收入)* 0.5 +(0.5 *收入)* 0.33(如果利润率)高于60%。但是该函数返回一个#VALUE!错误。

“收入”变量是excel SUM函数。

0 个答案:

没有答案