excel - 在另一个 UDF 中调用 UDF
问题描述
我需要从另一个模块(在同一个工作簿中)调用以前制作的 UDF 来构建另一个 UDF。如何调用第一个函数?
这适用于 Excel VBA。我已经构建了我的第一个函数,它计算产品在特定时间的账面价值。它位于一个名为“BookValue”的模块中,该函数名为“BookVal”。我尝试在下一个函数中调用它作为使用 Application.BookVal(args) 的应用程序,作为使用 UDF() 的 UDF,最近通过键入 NewFunction = BookValue(BookVal) 然后接下来的步骤......没有任何效果。全部返回#VALUE。
这是我的代码:
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
但我希望代码从选定的单元格中提取作为参数并返回等式的结果:税后转售价值 = 转售价值 - 税 *(转售价值 - 账面价值)。
解决方案
您必须提供所有被询问的标准:
Function BookVal(UseLife As Double, ResaleAge As Double, 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) As Double
PostTaxSale = BookVal(UseLife, ResaleAge, PurchPrice, SalVal)
PostTaxSale = ResaleVal - PostTaxSale
PostTaxSale = TaxRate * PostTaxSale
PostTaxSale = ResaleVal - PostTaxSale
End Function
推荐阅读
- c - 如果我们要编写数组元素,表达式中是否必须包含“cat”(语言 C)
- email - 在 Google 上注册的域电子邮件 ID 未通过 cakephp4 中的 smtp 接收邮件
- search - CLion:如何在不同的文件中搜索当前字符串?
- typescript - 在 Typescript 中推送未定义
- argoproj - 引用上一步的输出失败 - 为什么?
- angular - Angular:向延迟加载模块中导入的模块提供注入令牌
- android - 用 proguard 混淆
- export - 创建可运行的 jar 文件并使用 Extract required 和 Package required lib 获得差异结果
- css - 在 R Shiny 中扩大通知弹出窗口?
- node.js - 如何使用 NodeJS 从 POST 调用中获取 csv 文件