我對這個錯誤的所有搜索都沒有幫助。這應該是簡單的...我的平凡模塊[名爲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