Как вызвать пользовательскую функцию в коде? - PullRequest
0 голосов
/ 06 декабря 2018

Я создал пользовательскую функцию.Я пытаюсь вызвать его в своем макросе.

Когда код достигает строки с моей функцией, я получаю сообщение об ошибке выполнения

'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 голосов
/ 06 декабря 2018

Объект, который "не поддерживает это свойство или метод", равен Worksheet Function, а метод, который он не поддерживает, - SMM.Вы определили эту функцию, но это не значит, что определенная вами функция теперь является функцией рабочего листа.Просто используйте SMM вместо WorksheetFunction.SMM.

Кроме того, как указывает студент Гэри, вы получите несвязанную ошибку, если ws не установлен правильно.

0 голосов
/ 06 декабря 2018

У вас нет ни Dim 'ed, ни Set варианта листа ws.

(могут быть другие ошибки в вашем коде.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...