VBAある条件によって呼び出すプロシージャを切り分けたい場合、通常は次のようなスタイルでコードを記述すると思います。Sub上記のプログラムでは、SampleExeプロシージャの引数に与える”数値”によって呼び出すプロシージャを切り替えています。引数が「1」なら「Sample_A」といった具合です。このようなケースで「Eval関数」を使うと、”プロシージャ名という文字列”を引数として、そのプロシージャを呼び出すことができます。そのサンプルが次のコードです。「SampleExeStr」というプロシージャに、そこから実行させたいプロシージャ名を引数strProcNameとして与えます。"Sample_A()"」のように呼び出します。Functionここでは、次のような点に注意します。引数strProcNameには、通常にプロシージャを呼び出すときと同様、「Sample_A()」のように「()」の部分も付けて指定します。そこから呼び出される別のプロシージャは、たとえ返り値を持たない場合であってもFunctionプロシージャとします。Eval関数は、あくまでもその引数に指定された値(ここではFunctionプロシージャの返り値)を評価しようと動作しますので、返り値を持たないSubプロシージャではエラーとなります。そこから呼び出される別のプロシージャは、Privateな呼び出しだけであっても、”Public”で宣言します。|この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。