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

呼叫函式

要呼叫函式,請使用函式名稱呼叫函式,如以下螢幕截圖所示。

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