- ベストアンサー
EXCEL VBAで標準モジュール内で指定しても別の標準モジュールが開けません。
Sub CommandButton2_Click() Application.Run "PARA" End Sub 以前他の方が作ったプログラムを参考にして、作成しています。 PARAという名前で作った標準モジュールを動かしたいのですが、 1004エラーと出てしまって止まってしまいます。 実際、オブジェクト名と記載されている文字列を""の間にコピペしても 動きません。 どこがおかしいのでしょうか?あるいは何か肝心なことが抜けているのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ご質問の意味が曖昧でよく分かりません。 >PARAという名前で作った標準モジュールを動かしたいのですが 標準モジュールはオブジェクトではあるのですが、プロシージャでもマクロでもないので動きません。 同一ブック内のプロジェクトの標準モジュールに記載されているプロシージャやマクロは、通常、 Public ステートメントを付けなくても、Private ステートメントを付けていない限りは、呼び出しは、そのまま PARA と入れるか、明示的に Call PARA と入れれば呼び出せます。 しかし、他のブックの呼び出しは、Application.Run の後に、ブック名が必要です。 Application.Run "ブック名!マクロ名" です。他のモジュールだったら、その前のオブジェクト名が必要です。もしくは、参照設定します。 また、戻り値が必要な場合は、括弧 などで括って、変数で受けてやる必要があります。 解答を得るには、もう少し、詳しい情報が必要です。
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
もし標準モジュールに「PARA」というプロシージャがない場合は「コンパイルエラー:SubまたはFunctionが定義されていません」というメッセージになるはずです。 1004エラーは「アプリケーション定義またはオブジェクト定義のエラー」ですね。「PARA」をコールする前、またはコールしてから未定義のオブジェクトをハンドリングしたのではないでしょうか エラーが発生した行がVBE画面で黄色く反転していませんか? そのエラーを正さないとなりませんが、質問文だけでは回答のしようがありませんね。
補足
実行時エラー'1004'; マクロ'PARA'が見つかりません。 というメッセージが出た後に、デバックのボタンを押すと 黄色く反転しています。 PARAというモジュールもあるのですが、そこに飛んでくれない状況です。
補足
そうですね。 とりあえず、個別で作ったものを連続で動かしたいと思い、 テストしてみたのですが、、、、 もう少し、全体が完成したら具体的に質問したいと思います。