VBA-ユーザー定義関数

A functionプログラム内のどこからでも呼び出すことができる再利用可能なコードのグループです。これにより、同じコードを何度も書く必要がなくなります。これにより、プログラマーは大きなプログラムをいくつかの小さくて管理しやすい関数に分割することができます。

組み込み関数とは別に、VBAではユーザー定義関数を作成することもできます。この章では、VBAで独自の関数を作成する方法を学習します。

関数定義

VBA関数には、オプションのreturnステートメントを含めることができます。これは、関数から値を返したい場合に必要です。

たとえば、関数で2つの数値を渡すと、呼び出し元のプログラムで関数からそれらの乗算が返されることが期待できます。

Note −関数は、関数名自体に割り当てられた配列として、コンマで区切られた複数の値を返すことができます。

関数を使用する前に、その特定の関数を定義する必要があります。VBAで関数を定義する最も一般的な方法は、Function キーワードの後に​​一意の関数名が続き、パラメータのリストと次のステートメントが含まれる場合と含まれない場合があります。 End Function関数の終了を示すキーワード。以下は基本的な構文です。

構文

ボタンを追加し、以下の機能を追加します。

Function Functionname(parameter-list)
   statement 1
   statement 2
   statement 3
   .......
   statement n
End Function

面積を返す次の関数を追加します。関数名自体で1つまたは複数の値を返すことができることに注意してください。

Function findArea(Length As Double, Optional Width As Variant)
   If IsMissing(Width) Then
      findArea = Length * Length
   Else
      findArea = Length * Width
   End If
End Function

関数の呼び出し

関数を呼び出すには、次のスクリーンショットに示すように、関数名を使用して関数を呼び出します。

以下に示すエリアの出力がユーザーに表示されます。