Мне нужно вызвать ранее созданный UDF из другого модуля (в той же книге), чтобы построить другой UDF. Как мне вызвать первую функцию?
Это для Excel VBA. Я уже построил свою первую функцию, которая вычисляет балансовую стоимость продукта в определенное время. Он находится в модуле под названием «BookValue», а функция называется «BookVal». Я попытался вызвать его в следующей функции как приложение, использующее Application.BookVal (args), как UDF, использующее UDF (), совсем недавно, набрав NewFunction = BookValue (BookVal), затем следующие шаги ... ничего не работает. Все возвращают # ЗНАЧЕНИЕ.
Вот мой код:
Option Explicit
Function BookVal(UseLife As Single, ResaleAge As Single, PurchPrice As Double, SalVal As Double) As Double
BookVal = PurchPrice - ((PurchPrice - SalVal) / UseLife) * ResaleAge
End Function
Function PostTaxSale(UseLife As Double, ResaleAge As Double, TaxRate As Double, ResaleVal As Double, PurchPrice As Double, SalVal As Double, BookVal As Double) As Double
PostTaxSale = BookVal(UseLife, ResaleAge, PurchPrice, SalVal)
PostTaxSale = ResaleVal - PostTaxSale
PostTaxSale = Tax * PostTaxSale
PostTaxSale = ResaleVal - PostTaxSale
End Function
В результате получается # VALUE
Но я хочу, чтобы код извлекал выбранные ячейки в качестве аргументов и возвращал результат уравнения:
Перепродажная стоимость после уплаты налога = Перепродажная стоимость - налог * (Перепродажная стоимость - Балансовая стоимость).