Как добавить предложение if в пользовательскую функцию [vba] - PullRequest
0 голосов
/ 20 ноября 2019

Я написал эту функцию

Function potential(Volume, Original, Better)
potential = (Original - Better) * Volume
End Function

Она довольно проста, но что мне действительно нужно, так это в случае, когда Better пусто, ответ должен быть 0

Я пытался potential = Application.WorksheetFunction.If(Better = 0, 0, (Original - Better) * Volume) результатвсегда ошибка

или potential = ((Original - Better) * Volume) * (Better / Better) выдавала ошибку только тогда, когда Better пусто

Итак, я попытался potential = Application.WorksheetFunction.IfError(((Original - Better) * Volume) * (Better / Better), 0) с теми же результатами

Что я здесь не так делаю?

1 Ответ

2 голосов
/ 20 ноября 2019

Использование:

Function potential(ByVal Volume As Double, ByVal Original As Double, Optional ByVal Better As Double = 0) As Double
    If Better = 0 Then Exit Function
    potential = (Original - Better) * Volume
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...