VBA用戶自定義函數

函數是一組可重複使用的代碼,可以在程式中的任何地方調用。這消除了一遍又一遍地編寫相同的代碼的需要。這使程式員能夠將一個大程式劃分成許多小的可管理的功能模組。

除了內置函數外,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

調用函數

要調用函數,請使用函數名稱調用函數,如以下螢幕截圖所示。

計算面積的結果輸出如下所示將顯示給用戶。


上一篇: VBA數組 下一篇: VBA副程式