我对这个错误的所有搜索都没有帮助。这应该是简单的...我的平凡模块[名为FTA]包含此代码:VBA - 未定义用户定义的类型
模块编译干净。然后,尝试将工作表单元格值设置为该函数返回的某个类型成员,我使用下面的语法。
=test.added(1,2)
它导致弹出错误和小区#NAME显示“没有定义用户定义的类型”? 我如何得到它显示正确的值3? 正如你可以想象的那样,这不是简单的数学,而是关于调用返回Type的函数的能力,然后在工作表中使用该Type的一个成员。我的Excel是Office专业增强版2010
VBA不能像UDF那样工作。如果你想从一个UDF返回多个值,你需要返回一个数组,而不是一个Type。 –
2感谢您的建议,但我的问题更复杂。我的真正的UDF返回一个混合了标量,布尔值,字符串等的类型。我想避免写一个单独的VBA函数来单独返回每个类型的成员。看起来工作表不能识别我的VBA公共类型,也不知道UDF返回这种类型的对象。如何“教”工作表以了解? VBA似乎接受语法“test(1,2).Added”,但工作表没有。为什么? – Gershon
你不能教Excel来识别你的类型。故事结局。 – YowE3K