我已经在互联网上和stackoverflow上搜索了很久,但是我还没有找到解决方案。
这是我的需求:
假设我在一个名为“MyClass”的类模块中有以下代码:
Option Explicit
Dim var1 as integer
初始化(v为整数) var1 = v
函数 获取Var1() 获取Var1 = var1
Then I have a UDF in a separate module with the code
Function InitializeMyClass(v as integer) as MyClass
Dim myvar as MyClass
Set myvar = new MyClass
Call myvar.Initialize(v)
Set InitializeMyClass = myvar
End Function
函数 GetMyVar(m as MyClass) GetMyVar = m.GetVar1() End Function
现在我在单元格A1中有“=InitializeMyClass(3)”,在单元格A2中有“=GetMyVar(A1)”。“#VALUE”错误出现在两个单元格中。这当然是由于我试图将用户定义的数据类型返回到单元格A1中所致。我觉得这应该是可能的,但我不确定如何做到。
编辑:哦,是的,问题是,“是否有一种方法让我将用户定义的数据类型返回到单元格中,然后在上面给出的示例中从另一个UDF中调用它?我不知道这是否需要使用COM。如果是这样,有人知道我该如何开始吗?理想情况下,如果有人有一个关于这是如何工作的示例,那就太好了!”
另一个编辑:我们来看看,现在我知道它是可以完成的:阅读此描述,它不是定量的,但会让您了解它们的工作原理,http://www.quanttools.com/index.php?option=com_content&task=view&id=19