[心得] Excel 清除無效連結 VBA實戰系列

作者: noworneverev (小朋友)   2020-04-01 01:15:14
下載(xlam):https://tinyurl.com/rw2tmex
xlam增益集使用方法:https://i.imgur.com/1KvzYVc.gif
清除完成後視窗:https://i.imgur.com/tm7cjFx.jpg
用途:清除活頁簿無效名稱,加速檔案開啟。
客戶提供的資料常常都會連到他們公司內部自己的Excel活頁簿,
如果有大量名稱參照到無效的位址會導致開啟活頁簿速度降低,
以一般目前電腦的運算速度即使有幾百張工作表或幾萬列資料,
開啟的時間都不會太長,但Excel在解析大量外部連結時會導致開啟速度異常下降。
如果執行很久,代表刪除的名稱很多,以25,000個無效名稱測試,會花3~5分鐘跑。
原始碼如下,會開啟VBE(ALT+F11)的話可以新增模組後複製貼上,再按F5執行即可:
Sub RemoveInvalidNames()
Dim i As Integer
Dim name As name
Dim workbookNames As Names
Set workbookNames = ActiveWorkbook.Names
i = 0
For Each name In workbookNames
If InStr(name.Value, "#REF") > 0 Then
i = i + 1
ActiveWorkbook.Names(name.name).Delete
End If
Next
MsgBox "清理完成,共清除" + Str(i) + "個無效名稱!"
End Sub

Links booklink

Contact Us: admin [ a t ] ucptt.com