學習Excel技術,關注微信公眾號:
excelperfect
學會一些有趣的技巧或想法,能夠有效地提高ExcelVBA編程水平。下面是chandoo.org總結的編寫Excel VBA程序的10個技巧,我對其進行了整理,供有興趣的朋友參考。
技巧1:編寫代碼前先想想
解決一個非常複雜的問題的最佳方法就是思考。當你要使用VBA自動生成報告或者清理導入的數據時,只需將邏輯記錄在紙上,查看並理解問題的各個方面,將解決方案清楚地呈現在眼前。這對我們都很有用。
技巧2:使用錄製宏
Excel內置的宏錄製器是學習了解並處理新對象的好方法。即便是很有經驗的VBA程式設計師也一直使用它來錄製部分代碼,然後在此基礎上修改。記住,宏錄製器不一定會產生最佳或完整的代碼,但可以很好地提供如何為一組操作編寫代碼。
技巧3:使用立即窗口
Excel VBE有一個稱為立即窗口的強大功能,你可以在此處編寫幾乎所有的VBA語句並快速獲得結果。例如,打開VBE(在Excel中按ALT + F11鍵),然後進入立即窗口,輸入:?Activecell.Value,按回車鍵,立即顯示當前單元格的值。
技巧4:使用Debug.Print
在編寫代碼時,出錯是難以避免的。Bug是你的代碼沒有按照預期執行時的一種奇怪的稱呼。除非進行檢查,否則我們不知道代碼怎麼啦。此時,可以使用Debug.Print,在立即窗口中查看程序運行時變量的值,幫助確定Bug的位置。
技巧5:可能存在著一個解決你的問題的內置的方法
VBA有很多方法(Method)來做很多事情。如果你想編寫自己的代碼來反轉某些文本、基於分隔符拆分某些內容、找到2個單元格區域的交集或者在10秒鐘後執行某些操作,那麼可能是在編寫代碼之前就應該做的,因為有一個解決它的方法。每當你覺得自己正在為已經解決了好幾次的問題編寫代碼時,都有可能存在為此內置的一些方法或對象。
技巧6:分解工作成幾小塊
無論你面對的工作情況或問題有多複雜,都是由幾個較小的問題組成的。因此,將事情分解成較小的塊,這種編碼技術稱為模塊化。模塊化具有幾個優點:
1.重用:將大型程序分解為較小的部分後,可以在多個地方或其他項目中重用較小的部分。
2.易測試:較小的代碼片段易於測試和調試。
3.可維護性:可以輕鬆地維護較小的部分。一旦獲得更好的版本,就可以升級它們而不會造成太大的損失。
技巧7:不斷迭代
每當你嘗試使整個部門的工作自動化時,請退後一步,看看你可以具有的最小(但最有用)的功能是什麼。實施它,然後迭代添加新功能。羅馬不是一天建成的。不要想著一開始就大而全,這樣只會耗費過多的時間,甚至可能會半途而廢。此外,迭代開發還使你可以隨時停止,並且仍然會有一些有效的代碼。
技巧8:擁有至少一本好的參考資料
如果經常使用VBA,那麼手上應該至少有一本好的參考資料。一本好的參考書中包含有很多實用的技巧和信息,可以在編寫程序時隨時參考,也可以在平時經常翻閱,總是可以從中學到新的東西。
技巧9:接受挑戰
如果想要精通Excel或VBA,就要敢於接受具有挑戰性的工作,例如嘗試使用VBA自動化報表、試著簡化公式或者改進圖表。
技巧10:僅在需要時使用VBA
一旦你開始學習VBA,自然就會對其擁有的可能性感到興奮。但是請記住,過度使用它會使你的工作複雜化。建議:儘可能使用Excel內置的功能,Excel具有許多的內置功能可以解決各種日常問題(條件格式、數據透視表、公式、數據驗證、表單控制項等),僅當你覺得沒有一種簡單的方法可以單獨使用Excel解決問題時,才使用VBA。
在學習和編寫Excel VBA程序的過程中,你可能還會有很多發現,也會伴隨著很多新奇的體驗,記得及時總結,這也是快速提高編程能力的一個好方法。
[預告]在知識星球App:完美Excel社群中,即將推出電子書《100+個有用的ExcelVBA代碼》,相信對於學習和使用ExcelVBA的朋友來說,一定會有很好的幫助。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
歡迎到知識星球:完美Excel社群,進行技術交流和提問,獲取更多電子資料。