大体でIT
大体でIT
Excel VBAで使う「Sub」と「Function」の違いについて、解説します。「Function」は「戻り値」が使えて、「関数」として使えるのが「Sub」との違いです。戻り値や関数として使いたいというのがなければ、「Sub」を使っていきましょう。
この記事では、「Sub」と「Function」の違いについて、ご紹介します。
「Sub」と「Function」の違いは、次のとおりです。
- 戻り値があるか:Sub(×)、Function(〇)
- 参照できるか:Sub(〇)、Function(×)
- 関数として使えるか:Sub(×)、Function(〇)
「戻り値」がほしい場合や、「関数」として使いたい場合は、「Function」を使いましょう。
反対に、「戻り値」が必要なくて、「関数」としても使わない場合は、「Sub」です。
では、「Sub」と「Function」の違いについて、解説していきます。
SubとFunctionの違いについて、解説します。
SubとFunctionについて、違いは次のとおりです。
- 戻り値があるか:Sub(×)、Function(〇)
- 参照できるか:Sub(〇)、Function(×)
- 関数として使えるか:Sub(×)、Function(〇)
「Sub」は値を渡すだけで、「Function」で戻り値があります。
「Sub」は値を渡すだけ
Sub TEST1()
Call TEST2(1)
End Sub
Sub TEST2(a)
a = a + 1
MsgBox a
End Sub
「Function」は戻り値がある
Sub TEST1()
a = TEST2(1)
MsgBox a
End Sub
Function TEST2(a)
TEST2 = a + 1
End Function
「Sub」はボタンに登録が可能で、「Function」は登録ができません。
「Sub」と「Function」のコードを作成
「Sub」と「Function」のコードを作成します。
Sub TEST1()
MsgBox "A"
End Sub
Function TEST2()
MsgBox "A"
End Function
参照してみる
「Sub」のコードはありますけど、「Function」のコードはありません
「Function」のコードはない
こんな感じで、「Sub」はボタンから参照ができて、「Function」はできません。
「Function」はワークシート関数として使えて、「Sub」は使えません。
Functionで関数を作成
1を足すだけの「Func_TEST」という関数を作成します。
Function Func_TEST(a)
Func_TEST = a + 1
End Function
ワークシートで使ってみる
Functionで作成した関数をワークシート関数として使用することができます。
ワークシート関数として使えた
こんな感じで、「Function」で作成した関数を、ワークシート関数として使用することができました。
戻り値がほしい、関数として使いたい場合はFunction
「Function」を使う場合と、「Sub」を使う場合です。
「Function」を使う場合
戻り値を使いたい場合や、ワークシート関数として使いたい場合は、「Function」を使うことになります。
「Sub」を使う場合
反対に、戻り値やワークシート関数として、使う必要がなければ、「Sub」です。
この記事では、「Sub」と「Function」の違いについて、ご紹介しました。
「Sub」と「Function」の違いは、次のとおりです。
- 戻り値があるか:Sub(×)、Function(〇)
- 参照できるか:Sub(〇)、Function(×)
- 関数として使えるか:Sub(×)、Function(〇)
「戻り値」がほしい場合や、「関数」として使いたい場合は、「Function」を使いましょう。
反対に、「戻り値」が必要なくて、「関数」としても使わない場合は、「Sub」です。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。