- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SubではなくFunctionで作られる理由)
SubではなくFunctionで作られる理由
このQ&Aのポイント
- VBAマクロを作成する際、Functionで作成される理由について説明します。Functionは戻り値(返り値)を返すためのプロシージャであり、呼び出し元に結果を返すことができます。一方、Subは戻り値を返さないプロシージャであり、単に処理を実行するために使用されます。
- 上記のコードでは、DoCmd.OpenQuery関数を使ってクエリを開いています。この関数はクエリを実行し、その結果を返すため、Functionとして定義することが適切です。戻り値を受け取る必要がない場合でも、Functionを使うことでより柔軟な処理が可能となります。
- また、Functionは他のプロシージャから呼び出すことができるため、再利用性を高めることができます。特定の処理を複数の場所で使用する場合には、Functionを使うことで効率的にコードを書くことができます。ただし、戻り値を受け取らない場合にはSubを使用することもできます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
推測の域を出ませんが、 マクロから直接呼び出せるプロシージャはFunctionだけです。 Subの場合はFunctionモジュールで包んであげる必要があります。 この辺りの都合上でFunctionになってしまっているのかな?と。
お礼
>マクロから直接呼び出せるプロシージャはFunctionだけ そうなのですか、知りませんでした。 ありがとうございました。大変参考になりました。