• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SubではなくFunctionで作られる理由)

SubではなくFunctionで作られる理由

このQ&Aのポイント
  • VBAマクロを作成する際、Functionで作成される理由について説明します。Functionは戻り値(返り値)を返すためのプロシージャであり、呼び出し元に結果を返すことができます。一方、Subは戻り値を返さないプロシージャであり、単に処理を実行するために使用されます。
  • 上記のコードでは、DoCmd.OpenQuery関数を使ってクエリを開いています。この関数はクエリを実行し、その結果を返すため、Functionとして定義することが適切です。戻り値を受け取る必要がない場合でも、Functionを使うことでより柔軟な処理が可能となります。
  • また、Functionは他のプロシージャから呼び出すことができるため、再利用性を高めることができます。特定の処理を複数の場所で使用する場合には、Functionを使うことで効率的にコードを書くことができます。ただし、戻り値を受け取らない場合にはSubを使用することもできます。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

推測の域を出ませんが、 マクロから直接呼び出せるプロシージャはFunctionだけです。 Subの場合はFunctionモジュールで包んであげる必要があります。 この辺りの都合上でFunctionになってしまっているのかな?と。

bvewasdf8
質問者

お礼

>マクロから直接呼び出せるプロシージャはFunctionだけ そうなのですか、知りませんでした。 ありがとうございました。大変参考になりました。