• ベストアンサー

エクセルマクロ 異なるファイル名でも実行してくれるマクロ

マクロ初心者です。よろしくお願いします。 ファイル名はすべて例えです。 「A」エクセルファイルを 「Z」というファイルに貼り付けるマクロを作りました。 そのマクロで「B」ファイルからも「C」ファイルからも 「Z」ファイルにコピーをしなくてはいけないのですが VBAには「A」で記録されているため 「B」と「C」にはそのマクロが使えません・・・。 VBAをどのようにデバックすればいいのでしょうか?

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Workbook("A").~ など、ブックを指定する部分を、ThisWorkbook.~ に変更すると、 マクロが書いてあるブックを基点に動作します。

hiphop_lov
質問者

お礼

早々のご返答ありがとうございました。 かなりの知識不足で、説明もままならず、 自分でもっと調べて出直します。 お手数をおかけしました。 またよろしくお願いいたします。

hiphop_lov
質問者

補足

説明が不足ですみません。個人用マクロブックに作成しました。 以下が初めから エラーが起きるまでのVBAです。 ●のところでエラーになります。 Windows("ThisWorkbook.xls").Activate にすればいいのでしょうか? すみません・・・・。ご返事お待ちしております。 --------------------------------------------- Keyboard Shortcut: Ctrl+t ' Rows("4:7").Select Range("C4").Activate Selection.Copy Windows("Z.xls").Activate      Rows("4:7").Select Range("C4").Activate ActiveSheet.Paste ● Windows("A.xls").Activate Rows("11:48").Select Range("C11").Activate Application.CutCopyMode = False Selection.Copy

その他の回答 (2)

回答No.3

B,Cファイルにもプログラムをコピーして下さい。 ブック名を固定で謳っている場所があるのなら、#1さんの仰る方法で対応です。 それ以外では、以下の方法があります。  ・AファイルからB,Cファイルも操作するよう変更。  ・プログラム上ではActiveWorkbook.~を利用して、   A,B,Cを開き、マクロを動作させたいブックを表示させた状態で   マクロを実行させる。

hiphop_lov
質問者

お礼

早々のご返答ありがとうございました。 かなりの知識不足で、説明もままならず、 自分でもっと調べて出直します。 お手数をおかけしました。 またよろしくお願いいたします。

noname#123709
noname#123709
回答No.2

>VBAをどのようにデバックすればいいのでしょうか? 意味が分かりませんが・・・。 「A」にはZファイルを開いてAファイルの指定のセルを貼り付けるという 記述があるのですよね。なら同じくBファイル・Cファイルを開いて指定の セルをZファイルに貼り付けるようにすればいいのではないのですか? 現在記述してある内容でカバーできると思いますが・・・。

hiphop_lov
質問者

お礼

早々のご返答ありがとうございました。 かなりの知識不足で、説明もままならず、 自分でもっと調べて出直します。 お手数をおかけしました。 またよろしくお願いいたします。 ※単語の意味も勉強します・・・。

関連するQ&A