ツイート VBAには、値を返さないSubプロシージャと、値を返すFunctionプロシージャがあります。 Sub Sample1() Dim buf As Long buf = 123 MsgBox Func1(buf) End Sub Function Func1(arg As Long) Func1 = arg * 2 End Function Func1のような、値を返すFunctionプロシージャは、ワークシート上でも使用できます。 ワークシート上で使用することを目的としたFunctionプロシージャを、ユーザー定義関数と呼びます。 たとえば、上記のFunc1は、セルに「=Func1(123)」のように入力することで、SUM関数やVLOOKUP関数などと同じように使うことができます。 引数として数字を受け取るユーザー定義関数は、上記Func1の「(arg As Long)」のように