過程(Sub和Function)


過程(procedure):

VBA過程就是完成某個給定任務的代碼的有序組合。就類似於一個有目的性的行為,一個完整的行為就是一個過程。注意“有序”二字。

VBA過程分為Subroutine(子程序)過程和Function(函數)過程,關鍵字為Sub和Function,都可以獲取參數、執行一系列語句、以及癌變其參數值的獨立過程。Sub較Function不同之處,是帶返回值的Sub過程不能用於表達式。(什么意思,是指Sub過程不能像代碼那樣寫在語句里么,還是指不能直接調用Sub過程來調用他的返回值?)

Sub過程:

已經接觸這么多了,就不多說。幾個點:

1、Sub過程的存放位置:模塊。同時Excel中的任一對象也可以保存Sub過程,比如雙擊某一工作表進行過程編寫。只是建議都保存在模塊里,方便查看等操作。

2、Sub過程的聲明。類似聲明變量,Sub過程也有作用域之分,private和public,

格式:

[Private |Public] [Static] Sub 過程名

  [語句塊]

End Sub

2.1、     這里的Static是靜態的意思,書上解釋說選擇后,“運行程序的過程中將保存改過程里聲明的本地變量”,有點難懂,意思就是,可在過程中可以聲明本地變量,值不會被沖洗掉。多次調佣后依然是初始定義的值。(大概差不多就是這個意思吧,如有人能解釋,可以回復:-))

2.2、     如果一個過程被聲明為私有過程,則只有本模塊內的過程能使用它,而且不會出現在宏的對話框里;

2.3、     如果想把模塊中的所有過程都設為私有過程,在第一個過程前寫上“Option Private Module”即可

 

3、如果需要在某個過程中使用另一個過程(注意),可以如下:

a)       直接調用,在過程中輸入過程名和過程的參數(沒有就不用),參數用逗號隔開

b)       在過程名及參數前用Call關鍵字,參數用括號括起來,逗號分開

Call 過程名[(參數1),(參數2),…]

c)       利用Application對象的Run方法,格式:

Application.Run 表示過程名的字符串(因此字符串要用雙引號?)[,參數1,參數2,…] 

 

Function過程

Function過程即是編寫一個函數,即自定義函數。

怎么插入新的Function過程:

在插入過程里選擇函數即可

編寫完成后的函數可以和自帶函數同樣使用,插入函數里,也有“自定義函數”的選項。

給函數定義變量:就和自帶函數里的參數一樣,我們定義函數時也可以添加參數:

比如一個3個數的平均數函數:

當然,定義的參數還可以為其他類型,如單元格,區域。難一點的請自行研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM