看板 Accounting 關於我們 聯絡資訊
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://www.ptt.cc/bbs/Accounting/M.1501072443.A.C8C.html