function是函式,sub是子程式,都可以傳遞引數,但函式有返回值,子程式沒有function 可以用自身名字返回一個值,sub 需定義別的變數,用傳址方式傳回值。 Sub 過程與Function 過程的區別:
1. Sub 過程定義時無需定義返回值型別,而Function 過程一般需要用“As 資料型別” 定義函式返回值型別。
2. Sub 過程中沒有對過程名賦值的語句,而Function 過程中一定有對函式名賦值的語句。
3. 呼叫過程:呼叫 Sub 過程與 Function 過程不同。呼叫 Sub 過程的是一個獨立的語句,而呼叫函式過程只是表示式的一部分。Sub 過程還有一點與函式不一樣,它不會用名字返回一個值。但是,與 Function過程一樣,Sub 過程也可以修改傳遞給它們的任何變數的值。
4. 呼叫 Sub 過程有兩種方法:
以下兩個語句都呼叫了名為 MyProc 的 Sub 過程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意當使用 Call 語法時,引數必須在括號內。
若省略 Call 關鍵字,則也必須省略引數兩邊的括號。
區別就是:子過程沒有返回值,函式過程有返回值。
子過程用於編寫一些程式碼的集合,函式過程用於建立函式。
我興個例吧。
例如,我要做多處要做如下事件,我只要編寫一個子過程,在其它事件下,我只要把子過程的名稱寫下就行了。
Private Sub ABC(A As Integer, B As Integer, C As Integer)
A = 1
B = 1
C = 1End Sub Private Sub Command1_Click()ABC "按扭一就呼叫了該子過程了,而不用再寫子過程的程式碼。
End Sub Private Sub Command2_Click()ABC "按扭二就呼叫了該子過程了,而不用再寫子過程的程式碼。End Sub Private Sub Command3_Click()ABC "按扭三就呼叫了該子過程了,而不用再寫子過程的程式碼。End Sub 函式例子:如我要多處運用C=A+B這個演算法,我可以編寫這個函式:Private Function C (A As Integer, B As Integer) As IntegerC = A + BEnd Function Private Sub Command1_Click()Text1.Text = C(5, 3) "這裡就運用了函式C來計算5+3了。End Sub Private Sub Command2_Click()Text1.Text = C(4, 2) "這裡就運用了函式C來計算4+2了。
function是函式,sub是子程式,都可以傳遞引數,但函式有返回值,子程式沒有function 可以用自身名字返回一個值,sub 需定義別的變數,用傳址方式傳回值。 Sub 過程與Function 過程的區別:
1. Sub 過程定義時無需定義返回值型別,而Function 過程一般需要用“As 資料型別” 定義函式返回值型別。
2. Sub 過程中沒有對過程名賦值的語句,而Function 過程中一定有對函式名賦值的語句。
3. 呼叫過程:呼叫 Sub 過程與 Function 過程不同。呼叫 Sub 過程的是一個獨立的語句,而呼叫函式過程只是表示式的一部分。Sub 過程還有一點與函式不一樣,它不會用名字返回一個值。但是,與 Function過程一樣,Sub 過程也可以修改傳遞給它們的任何變數的值。
4. 呼叫 Sub 過程有兩種方法:
以下兩個語句都呼叫了名為 MyProc 的 Sub 過程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意當使用 Call 語法時,引數必須在括號內。
若省略 Call 關鍵字,則也必須省略引數兩邊的括號。
區別就是:子過程沒有返回值,函式過程有返回值。
子過程用於編寫一些程式碼的集合,函式過程用於建立函式。
我興個例吧。
例如,我要做多處要做如下事件,我只要編寫一個子過程,在其它事件下,我只要把子過程的名稱寫下就行了。
Private Sub ABC(A As Integer, B As Integer, C As Integer)
A = 1
B = 1
C = 1End Sub Private Sub Command1_Click()ABC "按扭一就呼叫了該子過程了,而不用再寫子過程的程式碼。
End Sub Private Sub Command2_Click()ABC "按扭二就呼叫了該子過程了,而不用再寫子過程的程式碼。End Sub Private Sub Command3_Click()ABC "按扭三就呼叫了該子過程了,而不用再寫子過程的程式碼。End Sub 函式例子:如我要多處運用C=A+B這個演算法,我可以編寫這個函式:Private Function C (A As Integer, B As Integer) As IntegerC = A + BEnd Function Private Sub Command1_Click()Text1.Text = C(5, 3) "這裡就運用了函式C來計算5+3了。End Sub Private Sub Command2_Click()Text1.Text = C(4, 2) "這裡就運用了函式C來計算4+2了。
End Sub