我想利用ATPVBAEN.XLAM分析工具包VBA中提供的Excel“Fourier”子程序在VBA中创建一个UDF。我认为这样做的一种方法是动态创建一个新的工作表,运行子程序并将输出定向到该新工作表,将结果复制到一个数组中,删除创建的工作表,然后返回数组。然而,我似乎遇到了一个问题,我无法在工作簿中的函数调用中创建新的工作表;从工作簿中的单元格调用以下函数不会创建新的工作表:
Function addWS() As Variant
Dim WS As Worksheet
With ThisWorkbook
Set WS = .Worksheets.Add
End With
End Function
我该如何克服这一点?
1条答案
按热度按时间lf5gs5x21#
不能将ToolPack的傅立叶变换转换为UDF。
然而,您可以用其他方式实现傅里叶变换。
1.在VBA中定义UDF(例如,请参见this answer和linked code。
1.使用最新发布的Excel LAMBDA函数定义新的自定义函数(例如,请参见this repository)。