問題需求
來自公號粉絲,有1000多條數據,如下圖,需要按照客戶名稱拆分成單獨的工作簿(workbook),代碼別人已經寫好了,但是一運行發現,需要運行的時間太長了(足足有6分來鍾)。Ta諮詢我能否有方法可以提高效率?
解決辦法
大致看了下源代碼,幾十行,如下圖,瞬間就感覺這個case有點大,一行行看、改代碼可能會比較費時。
當然,通過優化算法,肯定會有方法修改其中的代碼,提升運算效率。但是這個過程會比較枯燥、費時。
其實完全可以試試加入下面的這兩條代碼:
Application.ScreenUpdating = False(程序開始) Application.ScreenUpdating = True(程序結束)
這兩條代碼用處是不顯示代碼的運行過程,只顯示最終的結果。說的簡單一些,就是隻看結果,具體過程計算機後臺處理即可。
兩行代碼分別是用在程序開始和結束的時候,看看結果:
以上面這個為例,永恆君縮減為100行,未加入代碼的運行時間為:14.8s
加入之後為:9.8s
縮短了約30%多的時間。
實際上,這兩行代碼在任何一個vba程序中都可以使用,尤其是數據量比較大的時候,效果會更加的明顯。
你可能還會想看這些往期精彩:
一款實用的圖片查重工具
三個有趣實用的工具,你一定會想試試!
五款在線圖片處理工具,告別圖片荒,圖片難
鬧圖慌?百度谷歌圖都用爛大街了?嘗試一下這些無版權高質量圖片網站吧!
如何查看圖片是否PS過?
如何神不知鬼不覺地把圖片藏到學習資料裡
教你用word一鍵自動去除圖片背景
實用技巧:教你如何分頁多張A4紙打印長圖片?