讀古今文學網 > 別怕,ExcelVBA其實很簡單 > 練習小課堂 >

練習小課堂

學會編寫Sub過程後,你有什麼想要完成的操作?試著編寫一個過程,讓程序替你完成。

參考答案

答案參考書中的任意一個Sub過程。

並不是只有模塊對像才能保存過程,Excel對像(或窗體對像)也能保存過程,如圖3-42所示。

圖3-42 Excel類模塊

為了避免發生錯誤,建議將Sub過程和Function過程保存模塊對像中。

和一個文件夾可以保存多個文件一樣,一個模塊也可以保存多個過程。如果需要,你也可以像給文件分類那樣,建不同的模塊來保存功能不同的過程。

聲明Sub過程,規範的語句

儘管一個Sub過程可以包含任意多的代碼,但就像做20桌飯菜,為了更有效、更有條理地把任務完成,總是需要有明確的分工:張三洗菜,負責完成洗菜的過程,李四燒飯,負責燒飯的過程,最後把大家的過程合起來就完成了整個任務。

分工後,哪個過程出現問題,比如菜沒洗乾淨,就直接去找張三。

編程也一樣,當需要處理的任務比較複雜時,可以用多個小過程去完成,每個過程負責完成一個特定的、較為簡單的目的,最後通過執行這些小過程來完成最終目的。

3.8.3 從另一個過程執行過程

下面是在3.7.1小節中編寫的過程:

如果想在另一個過程裡使用代碼執行它,常用的方法有如下三種。

方法一:輸入過程名稱以及參數,參數用逗號隔開。

方法二:在過程名稱以及參數前使用Call關鍵字,參數用括號括起來,並用逗號隔開。

方法三:利用Application對象的Run方法,語句形式如下。

3.8.4 過程的作用域

過程按作用域的不同分為公共過程和私有過程。

命公共過程

公共廁所、公共汽車……戴著「公共」的帽子,意味著這個東西大家都可以使用。

私有過程

家裡買了一輛私家車,肯定不會讓街上的每個人都坐著它去上班。哪輛是公共汽車,哪輛是私家車,為了區別開來,要給它貼上特殊的標識。

如果想把模塊中的所有過程全部聲明為私有過程(包括已經聲明為公共過程的過程),只需在模塊中第一個過程之前寫上「Option Private Module」即可,如圖3-42所示。

圖3-43 將模塊裡所有過程聲明為私有過程

誰有資格調用私有過程

如果一個過程被聲明為私有過程,只有這個模塊裡的過程才能調用它。如果想讓其他模塊中的過程也能調用,應該把它聲明為公共過程。

私有過程不會在【宏】對話框裡顯示,如圖3-44所示。

圖3-44 私有過程不在宏對話框裡顯示