在Excel 2003 SP2XLL和vba函數名稱衝突導致永久#NAME?錯誤
XLL定義xll_function 如果我叫它,它工作正常。
定義了一個名稱相同的VBA函數:它優先於XLL的xll_function。
VBA函數被刪除,#NAME?出現並永遠保持。 這不利於在另一個excel版本或安全模式下保存工作簿。
即使VBA函數已經消失,Excel仍然記得查看VBA。 任何有關如何解決這個問題的建議?
在Excel 2003 SP2XLL和vba函數名稱衝突導致永久#NAME?錯誤
XLL定義xll_function 如果我叫它,它工作正常。
定義了一個名稱相同的VBA函數:它優先於XLL的xll_function。
VBA函數被刪除,#NAME?出現並永遠保持。 這不利於在另一個excel版本或安全模式下保存工作簿。
即使VBA函數已經消失,Excel仍然記得查看VBA。 任何有關如何解決這個問題的建議?
最後,我從一箇舊的電子表格開始中,轉移我的模塊和板材它...是我能找到
的唯一途徑如果您嘗試過Charles的解決方案,我很好奇,因爲我很想知道這是否可行。 – jtolle 2011-04-01 18:21:41
當涉及到鏈接包含在VBA,XLA [M]或XLL中的UDF時,Excel有一個非常奇怪的行爲。
通常,在編輯工作簿時,VBA UDF優先於XLA [M]/XLL中的工作簿,並且這是鏈接並保存在工作簿中的工作簿。
但是,當您打開工作簿時,Excel將首先查找XLA [M]/XLL中的UDF,然後再查看同一工作簿的VBA部分中的UDF。可能這是因爲VBA UDF尚未被Excel所知,但XLA [M]/XLL中已有的是,而且工作簿將與後者永久鏈接。
可能您不會理解哪一個被調用,除非您將工作簿移動到XLA [XL]/XLL不可用的PC。此時,最可能的結果是您單元格中的「#NAME」或「#VALUE」。
我的建議是避免在不同供應商中對UDF使用SAME名稱時不明確。
如果您導出VBA模塊然後重新導入它們會怎麼樣?我假設你已經嘗試刪除使用該函數的公式,然後恢復它們。並嘗試做全樹recalc等 – jtolle 2011-03-31 17:18:55
你應該接受你自己的答案,以表明你的問題現在已經解決。 – 2011-04-08 12:19:57