- ベストアンサー
エクセル:マクロのコピー
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コピーすることもできますが、マクロを作成するときに、マクロの保存先を「作業中のブック」ではなく「個人用マクロブック」にすると、どのブックを開いたときも実行できるはずです。 コピーするなら(book1からbook2へコピーと仮定して)、「Visual asic Eitor」を開き(「ツール」→「マクロ」→「Visual Basic Eitor」)、プロジェクトエクスプローラ(通常左上に表示されているウインドウ)のbook2の名前の上で右クリックし標準モジュールを挿入します。book1のマクロが記録されているモジュールを開いてコードをコピーし、book2に挿入したモジュールに貼り付けます。
その他の回答 (2)
#1です モジュール単位なら、 (ファイルの)インポート、 (ファイルの)エクスポートが使えます
マクロのコードを表示して book Bにコピー コードの表示方法 ツール-マクロ-マクロ で、該当マクロを選択し、「編集」 book B を開き ツール-マクロ-マクロ で、マクロ名を入力し、「作成」 で、コードを複写
お礼
わかりました。解決しました.どうもありがとうございました。
関連するQ&A
- excelでマクロシートをコピーしたとき
excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。
- ベストアンサー
- オフィス系ソフト
- 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を閉じるとマクロの機能が無くなってしまいます。ただし、マクロについては全くの無知で、[マクロの記録]だけを使っています。
- ベストアンサー
- Windows XP
- エクセルのマクロについて
お世話になります。エクセル2007のマクロについてですが、「A」というBOOKがありその中の任意のセルをクリックするとハイパーリンクで「B」というBOOKが開くようになっています。 ここで「B」が開いた時点で自動的に「A」を保存しないで終了させたいのですが、マクロの組み方がわかりません。 Sub Sample1() Workbooks("BookA.xlsx").Close End Sub と記述するとBook Aが閉じるのは調べてわかったのですが、ハイパーリンクでBが開いた時点でこのマクロを動かすようにするにはどうしたらいいのでしょうか?何か別の方法があるのでしょうか? 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- 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と番号が変化するので 汎用になりません。 このようなときはどのようにマクロを書けばよいのでしょうか? ご存じの方お教えください。
- ベストアンサー
- その他MS Office製品
- エクセルのマクロ
以下のマクロを教えて下さい。 よろしくお願いします。 [1] Book1のSheet1のA列のデータを、Book2のSheet1のB列にコピーする(B列の先頭から)。 [2] Book1のSheet2のA列のデータを、Book2のSheet1のB列にコピーする([1]で貼り付けたものの次行から)。 [3] Book1のSheet3のA列のデータを、Book2のSheet1のB列にコピーする([2]で貼り付けたものの次行から)。 *A列はデータがない場合はありません。途中に空行があることもありません。 *[1][2][3]は一括処理で結構です。 *マクロ自体はBook3に作成する予定です。
- ベストアンサー
- オフィス系ソフト
- EXCELのマクロの有効範囲について
(1)EXCEL2000にてブックが2つあって、それぞれに個人用マクロブックがある場合、お互いの個人用マクロブックのマクロの実行するにはどのようにマクロの記述をすればいいですか? BOOK1 マクロA1、A2、・・・、A5 BOOK2 マクロB1、B2、・・・、B5 のとき マクロA1の中でマクロB2を実行する (2)EXCEL2000にてブックが1つあって、個人用マクロブックとPERSONAL.XLSがある場合、PERSONAL.XLSの中で個人用マクロブックのマクロの実行するにはどのようにマクロの記述をすればいいですか? PERSONAL.XLS マクロA1、A2、・・・、A5 BOOK1 マクロB1、B2、・・・、B5 のとき マクロA1の中でマクロB2を実行する
- ベストアンサー
- オフィス系ソフト
- エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ
単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル) A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル) ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル) ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)
- ベストアンサー
- オフィス系ソフト
- エクセル-別のbookで同様のマクロ実行
エクセル-別のbookで同様のマクロ実行 最初あるBook1に入っているmacro1はそのbook1のsheet1を処理するように作成しました。 次にBook1を開いたまま、Book2を開きそのsheet1に対してmacro1と同等の機能を実行したい場合は通常どうするのでしょうか。 (1) Book2にBook1のマクロをコピー (2) book2のマクロを開き、表示されるBOOK1 macro1を実行する。 (2) 場合でもうまくいくのでしょうか。Sheet1に対してやりたいことの論理は同じとします。試してみたらといわれそうですが、まず識者の説明をお聞きしたいのです。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロでシートのコピー
いつもお世話になっております。 エクセル2000で次のことをマクロで行いたいのです。 いくつかWorkbookが開いている状態で、シートのコピーを行うのですが、シート名やブック名はその都度違います。 具体的には、Workbook"A" に "a"、"b"、"c" の3つのシート、Workbook"B" に "f"、"g"、"h"の3つのシートがあり、 Workbook"A" の Sheet("a") を Workbook"B" の Sheet("h") の前にコピーしたいのです。 Sheets(1).Copy before:=Workbooks("B.xls").Sheets(3) ところがWorkbookの名前がその都度変わるので困っています。 ブック間の移動は ActiveWindow.ActivateNext などで行っていますがシートのコピーがどうしても分からないので お願いします。
- ベストアンサー
- オフィス系ソフト
お礼
わかりました。解決しました.どうもありがとうございました。