[心得] VBA如何保持档案干净

楼主: moodyblue   2017-07-26 20:33:57
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

Links booklink

Contact Us: admin [ a t ] ucptt.com