函數是一組可重復使用的代碼,可以在程序中的任何地方調用。這消除了一遍又一遍地編寫相同的代碼的需要。這使程序員能夠將一個大程序划分成許多小的可管理的功能模塊。
除了內置函數外,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
調用函數
要調用函數,請使用函數名稱調用函數,如以下屏幕截圖所示。
計算面積的結果輸出如下所示將顯示給用戶。