若excel裡面不小心定義了很多名稱 要如何利用VBA將它們一次刪光呢 ?
2006-11-01 18:27:18 · 3 個解答 · 發問者 k 3 in 電腦與網際網路 ➔ 軟體
For Each nm In ActiveWorkbook.Names
nm.Delete
Next
2006-11-02 22:46:14 · answer #1 · answered by 沙拉油 5 · 0⤊ 0⤋
跑到第四列程式碼就出現錯誤了 :(
2006-11-02 21:03:12 補充:
nms(l)應該是要改成nms(r)吧? 可是就算這樣還不行
2006-11-02 21:06:25 補充:
另外,這段程式碼好像用到range的選擇,可是我的名稱的參照都消失了,出現"#REF",我猜可能沒辦法用range的選擇
2006-11-02 21:15:07 補充:
是否有辦法知道每個名稱的名字,這樣就可以用下面的函數刪調名稱
ActiveWorkbook.Names("sub_1087").Delete
2006-11-03 13:56:33 補充:
給jacklu:程式執行到第四行會出錯
給沙拉油 程式沒有錯誤訊息 可是殺不掉名稱
2006-11-03 14:10:28 補充:
給沙拉油: sorry,程式有用 thanks
給jacklu,我試了一下,把第四行remak掉,就可以了 thank you
2006-11-02 15:56:50 · answer #2 · answered by k 3 · 0⤊ 0⤋
請服用~Sub DeleteNames()Set nms = ActiveWorkbook.Names For r = 1 To nms.Count Range(nms(1).RefersToRange.Address).Select ActiveWorkbook.Names(nms(1).Name).Delete NextEnd Sub
2006-11-03 10:24:20 補充:
由於delete了第一個名稱,所以第二個變成了第一個,故不可用r.nms(1).name就是名稱的名字.
2006-11-02 04:35:37 · answer #3 · answered by jackylu 6 · 0⤊ 0⤋