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
サブルーチンで呼ぶ方法
関数を呼び出すとき注意のポイント
- 数値でもないものを入れたらエラーになります
- 引数の数が足りない
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」を作るときは、機能を切り出す
- 引数を確認する
- サブプロシージャーとして呼び出すときは、引数があっているかどうかを確認する