每当我尝试将UDT传递给其他函数时,就会出现以下编译错误:“只有在公共对象模块中定义的用户定义类型才能强制转换为或从变量中传递或传递到后期绑定函数。” 我已经测试过的唯一一个内部函数是VarPtr,它可以使用UDT作为参数。我甚至不能使用TypeName或VarType。是否有一种方式可以传递UDT作为不明确期望具体类型的参数?与Variant类似但是用于UDT。我还想将UDT存储在数组/字典/集合中,但这似乎也存在问题。UDT对我的需求非常完美(不必拥有单独的类模块),但它们似乎非常严格类型化(如果这是正确的术语)。编辑:看起来VarPtr将参数作为“Any”类型,因此可能是接受Variant和UDT的类型。问题是,Excel内置的VBA IDE不允许我使用该类型。