如何在代码中调用用户定义函数?

时间:2018-12-06 18:16:33

标签: excel vba

我创建了一个用户定义的函数。我正在尝试在宏中调用它。

当代码到达我的函数行时,出现运行时错误

  

'438':对象不支持此属性或方法?

Function SMM(incentivebeta As Double, agebeta As Double, intercept As Double, incentive As Double, age As Double) As Double

    SMM = 1 / (1 + Exp(-(intercept + incentivebeta * incentive + agebeta * age)))

End Function

Private Sub btnSimulate_Click()
    Dim counter As Long
            For counter = 1 To 360
                ws.Range("start").Offset(counter, 7).Value = WorksheetFunction.SMM(1, 2, 3, 4, 5)

2 个答案:

答案 0 :(得分:2)

“不支持此属性或方法”的对象是Worksheet Function,而它不支持的方法是SMM。您已经定义了该函数,但这并不意味着您定义的函数现在是工作表函数。只需使用SMM而不是WorksheetFunction.SMM

此外,正如Gary的学生指出的那样,如果ws的设置不正确,则会出现不相关的错误。

答案 1 :(得分:1)

您既没有的操作,也没有设置工作表变体 $data = DB::table('rrpps') ->select('rrpps.codRRPP',DB::raw('COUNT(clientes.codRRPP) as total_clientes')) ->join('clientes', 'clientes.codRRPP', '=', 'rrpps.codRRPP') ->groupBy('rrpps.codRRPP') ->get();

(您的代码中可能还有其他错误。)