未分類

VBAの関数について

vbaの関数って何?

VBAの関数(Function)は、プログラム内で特定のタスクを実行し、結果を返すためのサブルーチンの一種です。

関数は、プログラム内で再利用可能なコードを作成するために使用され、計算、データ処理、文字列操作、条件判定、カスタム関数の作成など、さまざまな用途に適用できます。

関数の構文のフォーマット

関数の作り方

Function 関数名(引数1 As データ型, 引数2 As データ型, ...) As 戻り値のデータ型
    ' 関数の本体
    ' ...
    ' 戻り値の設定
    関数名 = 戻り値
End Function

関数の使われ方サンプル

全体のコード

Sub TestAddNumbersFunction()
    Dim Result As Double
    Dim Num1 As Double
    Dim Num2 As Double
    
    Num1 = 10
    Num2 = 5
    
    ' 関数を呼び出して結果を取得
    Result = AddNumbers(Num1, Num2)
    
    ' 結果を表示
    MsgBox "結果: " & Result
End Sub
// 関数
Function AddNumbers(Number1 As Double, Number2 As Double) As Double
    ' 2つの数値を加算して結果を返す関数
    AddNumbers = Number1 + Number2
End Function

「AddNumbers」のFunctionについて

「AddNumbers」は、関数名です。

「(Number1 As Double, Number2 As Double)」は、引数です。

この引数を定義した関数は、数値「Number1」「Number2」の定義になります。

今回の「AddNumbers(Num1, Num2)」引数を二つ用意したので2つ定義しなければなりません。

戻り値のデータ型は、「As Double」とあるので数値で戻り値を書きます。

Function AddNumbers(Number1 As Double, Number2 As Double) As Double
    ' 2つの数値を加算して結果を返す関数
    AddNumbers = Number1 + Number2
End Function

サブルーチンで呼ぶ方法

関数を呼び出すとき注意のポイント

  1. 数値でもないものを入れたらエラーになります
  2. 引数の数が足りない
Sub TestAddNumbersFunction()
    Dim Result As Double
    Dim Num1 As Double
    Dim Num2 As Double
    
    Num1 = 10
    Num2 = 5
    
    ' 関数を呼び出して結果を取得
    Result = AddNumbers(Num1, Num2)
    
    ' 結果を表示
    MsgBox "結果: " & Result
End Sub

意識して注意するところ

  1. 「Function」を作るときは、機能を切り出す
  2. 引数を確認する
  3. サブプロシージャーとして呼び出すときは、引数があっているかどうかを確認する