VBA程式顯示隱藏名稱:刪除Excel公式錯誤的「_xlfn.SINGLE」

Excel具有VBA基礎會比較瞭解一些神秘現象。例如公式裡的名稱引用有誤,儲存格是錯誤代碼「#NAME?」,本文介紹如何設計VBA程式,顯示一個因此被隱藏的名稱。

一、名稱引用錯誤

如果Excel本來有設置某個名稱,但後來重新命名或刪除了,就會造成原本引用此名稱的公式產生錯誤,因為Excel無法識別公式內容,儲存格會顯示「#NAME?」,表示無此名稱。

E34k11

二、開啟名稱管理員

從上方功能區的【公式>已定義之名稱】點選【名稱管理員】。

E34k21

三、檢視現有名稱

跳出【名稱管理員】視窗,可以檢視現有名稱,目前頁面中看起來沒有已定義之名稱。

E34k31

四、Excel檢視巨集

回到上方功能區,從【檢視>巨集】選擇【檢視巨集】。

E34k41

五、編輯巨集程式

跳出【巨集】視窗,選取已建立好的【顯示隱藏名稱】巨集,再按右方【編輯】,即可進入VBA編輯畫面。若尚無巨集,可在【巨集名稱】下方欄位輸入文字,再按【建立】,即可新增名稱並進入VBA編輯畫面。

E34k51

六、VBA顯示名稱

Excel進入VBA編輯器後,新增模組並輸入下列程式碼,接著於上方工具列依序點選【執行>執行Sub或UserForm】,或者以【F5】快速鍵執行。

這部份操作如果不太熟悉,可以參考贊贊小屋相關文章

注意到程式設計好了之後,便是上個步驟的巨集,也可以直接於【巨集】視窗按【執行】,同樣是執行此程式。

Sub 顯示隱藏名稱()

For Each 名稱 In Names: 名稱.Visible = True: Next

End Sub

E34k61

七、顯示隱藏名稱

再回到【名稱管理員】視窗,就可以看到隱藏的名稱【_xlfn.SINGLE】出現了。

E34k71

八、刪除錯誤名稱

為了避免再產生自動隱藏的錯誤名稱,先修改原先引用有誤的儲存格公式,改成參照到有效的工作表儲存格對象,然後將【_xlfn.SINGLE】刪除,此後即使再執行第六步驟的VBA程式,也不會再出現此名稱了,而且目前Excel狀態良好,沒有公式引用錯誤的情形,當然就不會有隱藏起來看不見的錯誤名稱存在。

E34k81

Excel與VBA名稱

從這篇文章可以知道在Excel有些東西並不能直接進行操作,它可能會自動隱藏,除了設計VBA程式否則看不到,例如這裡介紹的隱藏名稱,或者贊贊小屋相關文章曾經介紹過的隱藏工作表。單純從Excel而言它不會影響實際使用,不過從VBA角度而言,有時候可以利用此特性讓程式專案更加完整,在贊贊小屋的VBA2大全集課程便有相關技巧,有興趣可以參考看看。

每天學習,每天充電:VBA自動化文章合輯

最新文章: