• ベストアンサー

他のブックにあるマクロを呼び出し、実行させる方法を教えて下さい

takahiro_の回答

  • ベストアンサー
  • takahiro_
  • ベストアンサー率47% (29/61)
回答No.2

このようにしてみてはいかがでしょうか? Sub test() Application.Run "実行させたいマクロの入っているブック.xls!モジュール名.プロシージャ名" End Sub また、マクロの自動記録で、実行させたいマクロを実行しましても上記のように記述できると思います。 お役に立ちましたでしょうか?

lemon567
質問者

お礼

モジュール名をいれたほうがよいのですね! これでできそうです。

関連するQ&A

  • 他ブックのマクロの実行

    エクセル VBAにて ブック1のマクロからブック2のマクロを実行するにはどうすればよいですか?

  • アクティブなブックのマクロの実行について

    現在使用しているエクセルのブックがあり、ブック名はA(Ver1.0)とします。 このブックにApplication.Run "'A(Ver1.0).xls'!(1)"…Application.Run "'A(Ver1.0).xls'!(20)"というマクロがあります。 ブック名をマクロ実行前に必ず変更しなければならなくて、そのブック名は毎回違ったものになります。 わざわざブック名を変更せずに、現在開いているブックのマクロを実行するという風にしたいのですがどうしたらいいですか? よろしくお願いします。

  • 他ブックを実行するマクロ

    あるexcelファイル(ブック名「自動操作.xlsm」)からべつのexcelファイル(ブック名「a.xlsm」)というファイルを実行するマクロを組んでいます。 Application.Runを用いて「自動操作.xlsm」のコードを以下のように記述しました。 ※「\」は半角の円マークだと考えてくれればいいです。ここで半角の円マークをかいても\と表示されます。また、自動操作とaは同じディレクトリにあります。 Sub Test1() Application.Run "'C:Users\ディレクトリ名\a.xlsm'!test" End Sub また、「a.xlsm」は以下のように記述しました。 Sub test() Dim i As Integer For i = 1 To 5 '移動元ファイルパスの設定 Cells(i, 1) = i Next End Sub ただ1~5行にその行数を記入するマクロです。 a.xlsmを開いた状態でこれを実行すると、「アプリケーション定義またはオブジェクト定義のエラーです」とでます。 a.xlsmを閉じた状態で実行すると、「このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります」とでます。 いったいなにを間違えているのでしょうか。

  • マクロを他のブック上で実行できなくなった

    あるマクロを作成して、シート上の図形に登録します。 (たとえば、Msgboxなど簡単なマクロです。図形を押すとメッセージボックスが表示されますよね) そのシートを新規ブックにコピーして、図形を押してもマクロが実行できません。 図形に登録されたマクロを調べると、新規ブックのマクロとして設定されてしまってます。 これはどこかの設定を変更すると治るのでしょうか? (最近まで出来てたのに突然出来なくってしまったのです) 環境はExcel2007。OSはWindows7です。 よろしくお願いします。

  • マクロ 他のブックで使うとき保存したファイル開かな

    自分はマクロ初心者で先日初めてマクロ有効のエクセルファイルを作りました。作ってボタン(押したらマクロが実行されるもの)を用意し、満足できる出来になったのはいいのですが、そのボタンをコピーして他のブックにはりつけ、ボタンを使おうとしたら、エラーになってしまいます(○○○というブックの名前が変更されたか、消された可能性があります) その指定のブックを開いた状態でボタンを使えばうまく動きます。 どうすれば、その指定のブックを開かずともマクロ月のボタンを使えるでしょうか? ちなみにエクセルのバージョンは最新で、自分以外のパソコンでも同じことが起きるのでバグではないと思います。 宜しくお願いします。

  • Excel 2007 マクロ 他のブックを開く方法

    Excel 2007 マクロ 他のブックを開く方法 マクロで他のブックを開く場合、パスを設定すると思います。 例えば下記の例で、サンプルフォルダをCドライブから Dドライブに移動してもマクロの内容を変更せずに ブックを開く方法はありませんでしょうか。 理由としては自分だけがこのマクロを使用するのであれば 特定のパスで設定しておけばいいのですが、 他の人が使用する場合、それぞれパスが異なります。 解決方法がございましたら、お教えください。 Sub bookcheck()     Workbooks.Open Filename:="C:\サンプル\Data.xls" End Sub

  • マクロを実行すると2つのBookで実行されてしまう

    AというBookとBというBookを同時に開いています。 どちらにもそれぞれ違った複数のマクロを登録しています。 マクロの中にはAの内容をBにコピーするというマクロもありますので、この2つは同時に開いておく必要があります。 困っているのはAのマクロを実行するとBでも同じように実行されてしまうのです。 マクロによってはその現象が起きないマクロもあります。 逆にBのマクロを実行してもAでは何も起きません。 Aのマクロを作成登録してる時にBも開いていたからでしょうか? この現象がいつから起きたのか分かりません。 例えばAの表の内容を一括で消すマクロを実行すると、 Bの方でも消えてしまうのです。 Aのマクロの内容を見てもBでも動作させるような内容はありません。 何度おこなっても同じです。 どうすれば元に戻せますか? 数時間かけて作成したマクロが無駄になってしまい困っています。 宜しくお願いします。

  • エクセル-別のbookで同様のマクロ実行

    エクセル-別のbookで同様のマクロ実行 最初あるBook1に入っているmacro1はそのbook1のsheet1を処理するように作成しました。 次にBook1を開いたまま、Book2を開きそのsheet1に対してmacro1と同等の機能を実行したい場合は通常どうするのでしょうか。 (1) Book2にBook1のマクロをコピー (2) book2のマクロを開き、表示されるBOOK1 macro1を実行する。 (2) 場合でもうまくいくのでしょうか。Sheet1に対してやりたいことの論理は同じとします。試してみたらといわれそうですが、まず識者の説明をお聞きしたいのです。

  • 他のブックのマクロを呼び出すと他のブックの画面がアクティブになってしまう。

    エクセルのツールバーにボタンを2つ作って他のブック1,2のマクロをそれぞれ割り当てました。 エクセルの表を開いておいてツールバーから マクロ1(編集・出力)を呼び出すとブック1がアクティブになってしまい真っ白のシートが見えてしまいます。 もう一方のブック2のマクロ2はフォームを表示するマクロですがそちらはバックに隠れています。 以前同様にシート上のCH(13)を消すマクロを使っていた時もバックに隠れていました。 Application.ScreenUpdating = Falseを入れましたが一瞬ですがやはりアクティブになります。 見た目も悪いので表示したくないし、ブック1と2で動作が違う理由がわかりません、 マクロ1はこれです。 ブック1のcreateというマクロを使うのが目的です。 Sub Output() Application.ScreenUpdating = False Call create MsgBox "完了しました。" ThisWorkbook.Close End Sub マクロ2 Sub Form_Open() Frm_Form1.Show vbModeless End Sub つまらない質問ですが気になるのでよろしくお願いします。

  • VBAで他のBOOKのマクロの実行

    VBAの初心者です。 ExcelのVBAで他のBOOKに記載された標準モジュールのプロシージャを実行するにはどのようにコーディングすればよいのでしょうか?