我正在尝试在程序中使用错误函数和补充错误函数。两者都没有工作。我不断收到错误编译错误:子或函数未定义
。但是,如果我进入一个单元格并手动尝试使用错误函数,它就会起作用。
这是为什么呢?我如何在实际代码中使用它?
误差函数为 ERF(x)
,互补误差函数为 ERFC(x)
。
以下是不起作用的示例:
Sub SeriouslyWHYIsntThisWorking()
x = 3
Range("A1") = Erf(x)
End Sub
即使这样也行不通:
Sub PleaseWork()
Range("A1") = Erfc(1)
End Sub
但如果我进入 Excel 并在单元格中输入 =ERF(3)
或 =ERFC(1)
,它就会起作用。
我对此很陌生,可能错过了一些非常简单的东西。非常感谢您的帮助!
最佳答案
您是否安装/引用了 VBA 插件分析工具库? (查找 atpvbaen.xls)
ERF
函数是该加载项的一部分,它有两个版本(一种用于 Excel 函数,一种用于 VBA),您需要合适的版本设置并由您的项目引用以供使用。
这些加载项是 MSFT 的标准配置,但并不总是默认设置。如果你能在Excel中正常使用,那么你至少已经设置好了Excel版本。因此,无论您如何实现/使用该功能,按照您想要的方式使用它都需要加载项。这意味着,如果您想与其他人共享此内容,他们将需要安装/激活该加载项。
<小时/>要将此答案与提供的其他答案链接在一起(同样准确且正确),请使用
设置单元格值Range("A1").value = Application.WorksheetFunction.ERF(x)
或使用
设置单元格公式Range("A1").Formula = "=Erfc("+ x + ")"
将要求最终用户使用该加载项。
关于vba - 在 Excel VBA 代码中使用 Excel 公式函数(ERF、ERFC)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620500/