作者moodyblue ()
看板Accounting
标题[心得] VBA如何保持档案乾净
时间Wed Jul 26 20:33:57 2017
VBA如何保持档案乾净
网志图文版:
http://www.b88104069.com/archives/4230
先前文章分享过如何保持档案乾净的两个重点:删除名称和切断连结。标准
流程是管理名称、删除名称、编辑连结、删除连结,像这样子一再重覆的1
、2、3、4,依照自动化思维,如果有个指令让Excel自动跑完这四个步骤,
岂不效率哉,以下具体分享:
一、利用自制的上方功能区,垂手可得「录制巨集」,编辑名称为「Delete
」,按「确定」。
二、执行文章开始所述的步骤1、2、3、4,结束後进行VBA,可以看到刚才
操作背後的程式码。
三、录制的巨集是删除特定的名称和连结,但我们目的是删除所有名称和连
结,因此必须修改巨集。仔细看程式码,有两个关键字「Names」和「
BreakLink」。在Excel官方支援中心,可知「Application.names属性」代
表使用中活页簿中所有的名称。
四、尝试参考所录制的巨集程式码,编写「ActiveWorkbook.Names.Delete
」,执行後发现此路不通:「物件不支援此属性或方法」。
五、从Names为所有名称、而且录制程式中每个Names有括号指定名称,合理
想法为For Each Next依次将每个名称删除,修改後的程式码如图所示,实
地测试真的能删除Excel中所有名称。
六、接着研究如何删除连结。例如「LinkSources」,本意为:「Returns
an array of links in the workbook. 」。
七、最後修改完成的程式码。其中「If Not IsEmpty(Links) Then」为判断
是否有连结,这是因为名称为删除「Delete」,连结为切断「BreakLink」
。实际测试,如果不加判断式,第一次执行可顺利切断连结,到了第二次执
行,程式会报错,没办法完成,所以必须加判断式。VBA毕竟较为复杂,不
太能理解的话,可以Google或者Yahoo一下,善用网路资源,是学习VBA的必
经之路。
在Excel高效率工作心法中,自动化是最高层级的追求目标。这一节所介绍
的小技巧:录制巨集後了解程式、做点功课後再修改程式码,便是Excel自
动化的实战课程。只要能制作成复合指令的懒人包,便是属於自己威力强大
的绝招。赞赞小屋下半年预计出版的书籍中,基本上是利用这个绝招将
Excel插上翅膀,飞到一个全新领域,敬请期待。
延伸阅读:
Excel如何保持档案乾净
http://www.b88104069.com/archives/4181
Excel:巨集安全性设定和其它设定选项
http://www.b88104069.com/archives/1263
Excel如何设置储存格格式并录制巨集
http://www.b88104069.com/archives/1213
--
周末,我们继续Excel:=>21.心得=>5.其他=>3.office
会计人的Excel小教室:
https://www.facebook.com/acctexcel
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.20.97.189
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Accounting/M.1501072443.A.C8C.html