VBA如何整理程式代碼




上節分享如何批次刪除空白列,其中三個巨集程式,一個測試用,並無實際需要,另外兩個通常會合併在一起,不會分開。實務上軟體工程師在編寫程式時,因為程式量很大,通常也會先就一小段進行測試,並且有一定的版面結構,如同縮排空行分段使得文章更易於閱讀,VBA程式也有一些普遍習慣的用法,以下具體介紹:

一、VBA後台和Excel前台的操作介面類似,連工具列也是。「檢視」、「工具列」,預設的是「一般」,在這裡把「編輯」也選上。

在這裡把「編輯」也選開

二、先選中「With」和「End With」之間的範圍,然後點擊編輯工具列中的「縮排」,如此將所選取的範圍全部往內推進一個段落點。

然後點擊編輯工具列中的「縮排」

三、把全部程式依照段落,以縮排方式整理過一遍,這樣看起來比較有層次感,不僅美觀,在程式量大的時候,也比較容易規劃、理解、排錯。另外,編輯工具列中既然有縮排,同時也會有「凸排」,兩者可配合使用。

同時也會有「凸排」

四、選取「Sub」和「End Sub」之間的範圍,點選編輯工具列上的「使程式行變為註解」。在Excel的資料編輯列,前面打上一個「’」,會將函數公式變成純粹的文字串。這裡VBA有相同效果,是批次將許多行變為文字串,前面打上一個「’」,再也不是程式了,回到前台執行這個巨集,會發現沒有任何程式運行。在必須選擇性地測試程式時,批次註解的方式非常方便。

選取「Sub」和「End Sub」之間的範圍

五、相反操作是「使註解還原成程式」。下方特地在「End Sub」後面在上註解「結束此程序」,也是「’」再輸入文字,VBA會自動將註解文字標成綠色。養成適當作註解,等於是寫VBA程式時的筆記,這是軟體工程師的專業習慣。

使註解還原成程式

六、管理辛苦寫好的VBA程式最好方法,是如同檔案資料夾將一個個程式分門別類歸檔:「檔案」、「匯出檔案」,可以將這個「Module1」儲存起來。

「檔案」、「匯出檔案」

七、「匯出檔案」視窗。在這裡更改檔案名稱為「刪除空白列」,然後選擇一個喜歡的地方「存檔」。

在這裡更改檔案名稱為「刪除空白列」

八、打開任何一個活頁薄,進入VBA:「檔案」、匯入檔案」,一個也不少地,「Module1」複製過來了。

「檔案」、匯入檔案」

會計實務工作上,很多例行性報表,每個月都要來這麼一次,每次整理資料,很多設計好的函數公式是一用再用。我習慣作法先打開上個月檔案,複製上個月的公式,貼上到這個月檔案的相同位置,頂多修改一下引用範圍,便可成功將公式套上這個月的資料。在VBA的世界裡,如同此篇文章所述,除了複製貼上,還能夠匯出匯入以檔案資料夾的方式管理,善加利用,Excel操作會更有效率。




當前文章延伸閱讀:
VBA自動化