• ベストアンサー

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

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

  • goo62
  • お礼率91% (195/214)

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

  • ベストアンサー
noname#181803
noname#181803
回答No.2

1.BOOK1.xls を開く。 2.[ツール] - [マクロ(M)] - [Visual Basic Editor(V)] または Alt+F11 で Visual Basic Editor を起動。 3.「macro1」を選択し、ハイライトする。 4.[ファイル] - [ファイルのエクスポート]をクリック。 名前を変更しなければ、「macro1.bas」というファイルができる。 5.BOOK1.xls を閉じる。 6.BOOK2.xls を開く。 7. 2 の手順でVisual Basic Editor を起動。 8.[ファイル] - [ファイルのインポート] で 4 の手順で作成した macro1.bas を選択。 でいかがでしょうか?

goo62
質問者

お礼

初心者向けの親切な回答、ありがとうございました。手順どおり進めたら旨く行きました。本当にありがとうございました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ツール-マクロ-VisualBasicEditorでVBE画面が出たら、Book2に挿入-標準モジュールで標準モジュールを追加して、Book1のマクロをコピペします。

goo62
質問者

お礼

早々のお答えありがとうございます。でも恥ずかしながらVBE画面を出すまでが限度で、『~標準モジュールを追加して、Book1のマクロをコピー~』までは出来ませんでした。初心者の質問にはもう少し手順を踏んだ回答が喜ばれると思います。

関連するQ&A

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

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

  • マクロからマクロを呼び出す方法

    ブックの中にあるマクロを呼び出すマクロを書きたいです。 Sub Macro2()   Application.Run "Book1!Macro1" End Sub とすると、book1のmacro1しか呼び出せませんが、マクロを書いているファイル(コピーして仮にbook2) のマクロを呼び出すにはどのように書けばよいでしょうか?(マクロブックだけ他のファイルにコピーして使う用途を想定しています。

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

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

  • Excelマクロ Book1にコピー 汎用性が無い

    こんにちは。 Excel 2007を使用しています。 決まった作業をマクロの記録で行うのは簡単ですが 毎回変わる部分をマクロ化するのは難しいです。 マクロで行った結果を新しいBookにコピーしようとすると 以下のようにBook1という文字列が作成されます。 Workbooks.Add Windows.Arrange ArrangeStyle:=xlHorizontal Windows("data.xlsm").Activate Selection.Copy Windows("Book1").Activate ActiveSheet.Paste 作業を連続で行うとBook2,Book3と番号が変化するので 汎用になりません。 このようなときはどのようにマクロを書けばよいのでしょうか? ご存じの方お教えください。

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

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

  • エクセル:マクロのコピー

    エクセル:マクロのコピー エクセルであるbook AにMACROAが入っています。 book BにMACROAをコピーしてもってきたい。どうすればいいですか。

  • マクロの記録というのは

    「新しいマクロの記録」といのは、複数のブックにまたがる処理に関しては正確に記録されないのでしょうか。 Book1のA1からA10を、Book2のA1にコピーする処理を行ってマクロ内容を確認してみたら、 Range("A1:A10").Select Selection.copy これだけでした。 ブックが複数になると対応しきれないということでしょうか。

  • Book間でのコピー

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

  • マクロをマクロを使ってコピーしたい

    Excel2010です。 今、book1の各シート(ここでは"S1"で特定していますが、たとえばs1、s2、s3の3つがあるとします。)の左上隅「X」マークを右クリックすると出てくる「コードの表示」に以下の内容を記録しています。 ------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "s1" Then Exit Sub Worksheets("s1").Range("e6") = Sh.Range("an7")   Worksheets("s1").Range("e9") = Sh.Range("bj7")   Worksheets("s1").Range("e10") = Sh.Range("br7") End Sub ------------- これをbook1のマクロ本体の実行によってbook1のシート"s1"を含むいくつかのシートのあるコピーbook2に、同じようにマクロでこの「Private Sub」をコピーしたいと思っています。どのようのすればいいでしょうか。 よろしくお願いします。

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

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