2013-07-08 65 views
1

在最近升級到Excel 2010(從Excel 2003)之後,我們注意到來自我們的XLA加載項之一的函數調用的問題。 該功能顯示#REF!在Excel 2010中,但在Excel 2003中工作,我最終追溯到命名問題。函數名稱是PEN60(...)但Excel 2010中PEN60是一個有效的單元格引用,而不是計算值我得到了#REF!Excel用戶定義的函數名稱與單元名稱衝突

完全限定的函數名稱(即具有加載項的完整路徑)按預期工作。

任何想法如何解決這個問題,重命名函數?

+1

只是好奇 - 爲什麼不重新命名的功能?您可以簡單地將其更改爲'_PEN60'或類似的東西,然後在整個工作簿中執行一個大的「查找/替換」操作?事實是,假設在Excel 2003中有一個名爲'A1()'的函數......你會想要發生這個錯誤,因爲幾乎總是使用A1 ...在這種情況下,仍然指一個範圍地址,它只是一個在工作表中更隱蔽的位置... –

+2

另一種方式將更改爲** R1C1 **樣式引用,以便PEN60不再是有效的參考 – SeanC

+0

John,this add -in已經被公司使用了很長一段時間,所以確實有數以萬計的電子表格需要這個功能名稱。 肖恩,出於類似的原因 - 更不用說用戶反對 - 我不認爲這是一種前進的方式。雖然工作,我沒有想到它,所以謝謝。 –

回答

1

我能想到的唯一的辦法就是儘可能高效地自動重命名:
- 與另一名複製功能(如NewPEN60)
- 常規添加到您的XLA被觸發每當一個工作簿打開(應用程序事件),它使用SpecialCells爲#Ref選擇錯誤,在新打開的工作簿的所有工作表中查找,檢查公式是否使用PEN60,如果是,則用Newpen60替換它。

+0

Charles(和John Bustos在上面評論),是的,我傾向於認爲這是最好的解決方案 - Grr!更多的痛苦 :-( –