返回列表 上一主題 發帖

定義名稱 Print_Area 無法用Marco刪除

定義名稱 Print_Area 無法用Marco刪除

小弟有一檔案是從Excel 97 一直使用到Excel 2003.
這檔案內含有多個有效及無效的定義名稱 (Name)
目前作業系統及文書處理系統是Window 7及Excel 2007
今日我以Excel 2007建立一個Marco要將舊版本的Excel檔內的所有定義名稱都刪除. 語法如下:

Sub Clearnames()
Dim nas As Name
For Each nas In ActiveWorkBook.Names
nas.Delete
Next
End Sub

結果,小弟發現,有一個屬於Workbook的定義名稱,名為Print_Area, 還留在檔案裡,而且只能手動刪除.
這是怎麼回事? 我的語法應該沒錯吧.
是版本問題嗎?還是要用其它方式刪除.
我查詢過許多資料, 所使用的語法都與我所列的相同或相似. 而我套用別人的語法後,問題仍在.
懇請大家幫忙處理. 謝謝.
(檔案有上千個,我可沒時間一個一個開檔案手動刪除)

回復 2# oobird

試過版大的語法.
結果.定義名稱 Print_Area 仍然存在.
而且其 Refers To 的值也沒被改變. 這可以說是它根本沒被做任何修改或清除.

最後我只能用 Name Manager (Excel 2007的功能之一)來手動刪除.

很奇怪的情況,不是嗎?

我也試著使用錄製巨集的方式來刪除它. 也是沒用.

TOP

本帖最後由 MRSA 於 2010-11-24 00:36 編輯

回復 5# oobird


每個定義名稱會對應到四個值, 1是參位位址(Refers To), 2是值(Value), 3是定義名稱的Scope (Scope), 4是註解(Comment)
版大所謂的定義名稱錯誤的意思是指以上四個值的哪一個.
我所困惑的是,我在檔案內有許多定義名稱, 很多都是 Value 或 Refers To  有錯誤的(#REF! 或錯誤的外部連結), 但是,許多定義名稱為Print_Area都能被刪除,偏偏就獨獨這個 Print_Area (Value是#REF!, Refers To是=#REF!, Scope是Workbook, Comment是空白)的定義名稱刪除不了.
是Excel 2010 (我也在Excel 2007試過,也有同樣問題) 本身的問題嗎?

TOP

        靜思自在 : 不要小看自己,因為人有無限的可能。
返回列表 上一主題