• ベストアンサー

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

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

  • taktta
  • お礼率72% (1031/1430)

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

Bookが二つ程度であれば、各々のファイルに同じマクロでも良いかもしれません。また、Book1のマクロをBook2から呼び出して、見かけ上バックグラウンドで実行させることも可能です。 ただ、Book1の保存先などが変わるとエラーになるので、私の場合はアドインを作成します。 アドインの作成は簡単です。マクロの記述されているファイルを [ファイル]>[名前をつけて保存] で、「ファイルの種類」のドロップダウンで"MicrosoftExcelアドイン"を選択して保存します。 次に、Excelメニューの [ツール]>[アドイン] で保存したアドインファイルを参照してチェックをつけておきます。 このマクロをツールボタンに登録するか、開いているBookのイベントプロシージャから Run "アドイン名.xla!マクロ名" で呼び出します。

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

関連するQ&A

  • Book間でのコピー

    エクセルで以下の処理を実行するマクロを知りたいのですが。 Book1とBook2が開いています。 Book2のSheet1のA1~A10を、Book2のSheet1のA1~A10にコピーします。 この処理を任意の2つのBook間で実行するためにはどんなマクロになるでしょうか。(Book3とBook5で行ったり、Book25とBook46で行ったり等) アクティブになってないBookからアクティブになっているBookにコピーするようにしたいのですが。 宜しくお願いします。

  • 既存のマクロをコピーして使いたい

    BOOK1に[新しいマクロの記録]で作ったMacro1があるとします。いま新たにBOOK2を作成し、ここでBOOK1のマクロMacro1をコピーして使いたいのですが、どうやってコピーしたらいいか教えて下さい。BOOK2とBOOK1を同時に開いておけばBOOK2でも同じ機能を得られるのですが、BOOK1を閉じるとマクロの機能が無くなってしまいます。ただし、マクロについては全くの無知で、[マクロの記録]だけを使っています。

  • 閉じているBookに処理をさせるマクロ

    Book1とBook2があり、Book1は開いていてBook2は閉じています。 Book1でマクロを実行し、Book2を開いてSheet1のA1に"A"を入力した後Book2を閉じる、という処理をさせることは可能でしょうか? また、上記の処理をBook2を閉じたまま実行することは可能でしょうか? 可能でしたらそれぞれのマクロを教えてください。

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

  • 2つのEXCELのブック間でのマクロの呼び出し方

    お世話になります、 あるExcelのブック「Book1」でセルが選択された イベントで別のブック「Book2」に登録されている マクロ「Macro(str,number)」を呼び出したいのですが どのようにすればいいでしょうか? よろしくお願いします。 具体的なソース等がありましたらよろしくお願いします。

  • マクロブックを移してもプログラムを参照したい

    マクロからマクロを呼び出すとき、 Sub Macro2() Application.Run "Book1!Macro1" End Sub というマクロを作った場合、Book1!に保存されていないと実行されませんが、 これをほかのブックに移したときも使えるようにするにはどうしたらよいのでしょうか?

  • エクセル マクロで別のブックに貼り付けたい!

    作成したシートを別のブック(既存)にマクロを使って貼り付けたい のですが、いろいろ調べた結果以下のようにはすることができました。 ---------------------------------------------------------------- Sub SaveSheet() Dim sFileName As String 'ファイル名の設定 sFileName = "C:\a\test.xls" 'シートをコピーして新規ブックを作成 Sheets(Array("Sheet1", "Sheet2")).Copy '作成したブックの保存 ActiveWorkbook.SaveAs sFileName End Sub ---------------------------------------------------------------- これはとあるサイトで見つけたもので、私自身が作成したものでは ありません。 このマクロの問題は、 ○あらたにブック(シート)が作成されること (マクロ実行時は上書きになるので、変更できなくても使えないわけ ではない) ○元データはシート丸ごとであり、セル範囲を選択できない。 ○貼り付けるシートにおいても、任意の場所を起点とできない。 ということです。 整理しますと、『作成したシートの任意のセル範囲を、別に存在する ブックに、任意のセルを起点として貼り付けたい』 ということです。 どうかよろしくお願いします。m(_ _)m

  • Excelマクロで同じブックにCSVを読み込むには

    Excelの指定したシートにCSVファイルを読み込ませたいのですが 以下のVBAマクロを実行すると新しいブックが起動して 新しいブックの方にCSVファイルが読み込まれてしまうのですが これをVBAマクロを実行しているブックの指定のシート(例えばSheet3など)に 読み込ませたいのですがどのように記述すればよいのでしょうか。 よろしくお願いします(Excel2010) Sub Macro1()  ChDir "C:\test"  Workbooks.Open Filename:= "test1.csv" End Sub

  • excelマクロ記述

    EXCELのBOOKがあり、n枚のシートを含んでいます。 Macro1という名称のマクロで、 そのBook内のすべてのシートにMacro2というマクロを実行させる という場合、Macro1はどのように書けばいいのですか。 次次にシートを開くという操作をどう表すか? このMacro2では、例えばシートの文字の表示を75%のサイズで表示のようなものを考えています。 またそのときmacro2は、何か記述の追加が必要ならそれはどのようなものか。 よろしくお願いいたします。 Sub Macro1( ) ' Macro1 Macro ' 次次とシートを開き、75%サイズにする xxxxxxxx Sub Macro2( ) ' Macro1 Macro ActiveWindow.Zoom = 75 End Sub End Sub

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

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

専門家に質問してみよう