【ExcelVBA】Function定義記述まとめ

引数なし、戻り値なし

VBA
'プロシージャ宣言
Function プロシージャ名()
    処理の内容
End Function

'呼び出し
Call Function プロシージャ名

引数あり、戻り値なし

VBA
'プロシージャ宣言
Function プロシージャ名(ByVal 引数1名 As データ型,ByRef 引数2名 As データ型)
	処理
	プロシージャ名 = 戻り値
End Function

'呼び出し
Call Function プロシージャ名(引数1,引数2)

引数なし、戻り値あり

VBA
'プロシージャ宣言
Function プロシージャ名() As 戻り値のデータ型
	処理
	プロシージャ名 = 戻り値
End Function

'呼び出し
変数名 = プロシージャ名()

引数あり、戻り値あり

VBA
'プロシージャ宣言
Function プロシージャ名(ByVal 引数1名 As データ型,ByRef 引数2名 As データ型) As 戻り値のデータ型
	処理
	プロシージャ名 = 戻り値
End Function

'呼び出し
変数名 = プロシージャ名(引数1,引数2)

ByVal:値渡し(プロシージャ値での変更が適用されない)
ByRef:参照渡し(プロシージャ値での変更が適用される)