[心得] 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