《如何學習VBA》這份資料,是我對初學人員學習方法的輔導,在其中,我講到了很多有關VBA的學習方法及在教程中一些知識結構的補充說明。雖然是輔助教材,但也突出了我編程思想:積木編程;及我對于VBA的應用定義:VBA是實現個人小型數據自動化的有效工具(手段)。今日的內容是第37講:寫好的VBA代碼如何進行調試,保證順利運行。
3.3.3 VBA程序寫好后,如何進行調試,直到程序順利運行《VBA代碼解決方案》的教程,我貫徹了一種搭積木的編程思路,147講就相當于147塊積木,你有了這些積木,把每塊放在合適的位置,來構建你的工程。例如要搭建一處住宅,那麼這些積木,有的是管上下水的,有的是管電路的,有的是管氣溫調節的。當房子建好后,我們首先要測試這些積木是否達到了我們的要求,這個時候就是程序調試了。不是每個程序寫完后都能馬上正常運行的,有的調試過程很快,有的會時間長些,有的甚至會推倒重來。
什麼是程序調試呢?就是編制的程序在投入實際運行前,要進行的測試,測試過程包括修正語法錯誤和邏輯錯誤的過程。這是保證程序正確性的必不可少的步驟。對測試時所發現的錯誤,要進行診斷,找出原因和具體的位置進行修正,從而完善程序。說的直白些,就是說你的房子搭建好后,在你搬家之前進行的綜合檢驗。
一 程序調試的內容:程序調試的范圍較廣,一般包括如下幾個方面:
1語法錯誤的檢驗:每一種語言都有自己的語法習慣,你寫的代碼必須要符合這些規范,而且是必須的。錯一絲一毫也通不過。比如半角、全角;參數是否傳遞正確,是否有相應的屬性等等。
2 運行過程的檢驗:語法通過了,僅是第一步,在運行過程中還會檢驗很多內容:如循環是否是閉合的,with語句是否是閉合的,參數的定義范圍是否有問題,數組的上下標是否越界等等,這個檢驗就要點運行了。
3 實際結果的檢驗:上面的第一第二都通過了,程序開始正常的運行,但運行的結果不一定是你期望的結果。這就要考慮是哪里的問題了。
4 程序優化的檢驗,如果結果和你的預想一致,那麼是否就說明程序完美了?不是的,還要有程序的優化問題,包括:代碼可讀性是否強;占用的內存是否最少;運行時間是否最短;可視效果是否最佳。
二 代碼調試的原則:
1用頭腦去分析思考與錯誤征兆有關的信息。
2調試的過程也是自己再學習的過程。
3修改錯誤的同時應避免產生新的錯誤。
三 代碼調試的方法
1 代碼寫完后要再次閱讀。要最大限度地減少書寫的錯誤。所以我推薦大家利用《VBA代碼解決方案》,鼓勵大家去復制,粘貼,修改代碼,而不是錄入代碼。
2 在大腦中模擬運行,這個過程十分關鍵。要讓代碼在你的大腦中先運行,看運行的步驟,哪個過程先執行,哪個后執行,數據怎麼進行查找等等,這個過程也是檢查你寫代碼的邏輯是否嚴謹。
3 分過程小范圍調試,上述的步驟之后,開始真正的調試了,要先小范圍的調試,看看數值的關系是否正確。充分利用語句的中斷符,msgbox , 臨時參數等等
4 總體的測試,小范圍測試沒問題后,開始執行大范圍的測試。這個時候主要看最終的執行結果了,這個時候要設置特殊值來校驗,不要一開始就執行幾千幾萬的數據,要從幾行開始。根據我的經驗,一般出現問題常在一首一尾,所以要重視首尾的數據運行結果。如果與自己大腦的設想結果全然不符,就要檢查你編程的邏輯了。
5 數據的追蹤。當出現了非預期的數值或者現象的時候,要知道如何去追蹤數據,這里就靠自己的經驗了,但仍要注意語句的中斷符,msgbox , 臨時參數的利用。
第7套教程:VBA之EXCEL應用
第1套教程:VBA代碼解決方案
【第4套教程:VBA代碼解決方案之視頻(第一套的視頻講解)】
第3套教程:VBA數組與字典解決方案
第2套教程:VBA數據庫解決方案
第6套教程:VBA信息獲取與處理
第5套教程:VBA中類的解讀和利用
第8套教程:VBA之Word應用(2021年4月底推出)
上述教程的學習順序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
如何學習VBA呢? 概括的說就是: 學習過程中要信、解、受、持,更要有回向的業力。無論您在學習的任何階段,都要對照教程的知識點加持自己的實際工作,總會有豐厚的收獲。教程學習順序是7,1(或4),3,2,6,5。第7套《VBA之Excel應用》是對VBA基本的講解;第1(或4)套《VBA代碼解決方案》是《VBA之Excel應用》的提高;第3套《VBA數組與字典解決方案》是VBA應用的專題講解,教程中講解的專題是數組和字典,大家會在這套教程中看到非常全面的數組與字典的應用;第2套《VBA數據庫解決方案》也是VBA應用的專題講解,教程講解的專題是數據庫,大家會在這套教程中看到VBA連接Excel與accdb的全面應用;第6套《VBA信息獲取與處理》是整個VBA應用的提高;第5套《VBA中類的解讀及應用》是VBA的最高理論“類”“接口技術”的講解。第8套教程《VBA之Word應用》需要在第7套教程之后學習。如果說《VBA之EXCEL應用》是大家認識VBA的階段,那麼《VBA代碼解決方案》就要求大家能理解VBA,理解我推出的“積木編程”思想,理解我對VBA應用的定義:VBA是實現個人小型數據自動化的有效工具(手段)。本文來自:解夢佬,原地址:https://www.jiemenglao.com/suanming/346778.html