函數是一組可重複使用的代碼,可以在程式中的任何地方調用。這消除了一遍又一遍地編寫相同的代碼的需要。這使程式員能夠將一個大程式劃分成許多小的可管理的功能模組。
除了內置函數外,VBA還允許編寫用戶定義的函數。 在本章中,我們將學習如何在VBA中編寫自己的函數。
函數定義
一個VBA函數可以有一個可選的return
語句。如果要從函數返回值,則可使用return
語句。
例如,可以在一個函數中傳遞兩個數字,然後從函數中返回它們的乘積。
注 - 函數可以返回由逗號分隔的多個值,作為分配給函數名稱本身的數組。
在使用函數之前,我們需要定義這個特定的函數。 在VBA中定義函數的最常見的方法是使用Function
關鍵字,後跟一個唯一的函數名稱,它可能會也可能不會帶有一個帶有End Function
關鍵字的參數列表和一個語句,這表示函數的結束。以下是定義函數的基本語法。
基本語法
Function Functionname(parameter-list)
statement 1
statement 2
statement 3
.......
statement n
End Function
例子
添加以下函數計算返回面積。請注意,可以使用函數名稱本身返回一個值/值。
Function findArea(Length As Double, Optional Width As Variant)
If IsMissing(Width) Then
findArea = Length * Length
Else
findArea = Length * Width
End If
End Function
調用函數
要調用函數,請使用函數名稱調用函數,如以下螢幕截圖所示。
計算面積的結果輸出如下所示將顯示給用戶。