エクセル2007で複数ファイル間コピーマクロ

このQ&Aのポイント
  • エクセルでマクロを組もうとしていますが、初心者のため困っています。複数ファイル間でのコピーマクロを作成したいです。
  • VBA言語がわからないので、エクセルでマクロを作成中です。ワークブック間のコピペをマクロに登録すると、うまく動作しません。解決策を教えてください。
  • A-Zのファイル間でコピーマクロを作成したいです。VBAを確認すると、ワークブック名が指定されており、次のファイルに移行できません。どのようにすれば良いでしょうか?
回答を見る
  • ベストアンサー

エクセル2007で複数ファイル間コピーマクロ

エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー     ・     ・     ・     ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

マクロの記録では不可能だと思います。 プログラムソースを書けなくても編集する程度のことができなければあきらめた方がよろしいかと思います。 もし「プログラムソースを標準モジュールへ貼り付ける」ことを覚える気があるのでしたら、ソースコードをここに回答いたします。

nikomaru557
質問者

お礼

回答ありがとうございます。 マクロの記録で対応ができないということなんですね。 ちょっとした方法を知らないだけでマクロの記録で登録する方法があるのではないかといろいろ調べていたので、マクロの記録ではできないということがわかって助かりました。

その他の回答 (1)

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

とりあえずA~Cの3ファイルコピペするソースの例です。 1行目に対象のファイルが保存されているパスを指定してください。 詳しく説明しませんが、対してむずかしいことはしてないので 解読して応用してください。 Sub aCopy() Const myPath = "c:\temp\" Dim fromF, toF, myValue As Variant Dim fIdx As Integer fromF = Array("fileA", "fileB", "fileC") toF = Array("fileAA", "fileBB", "fileCC") For fIdx = 0 To UBound(fromF) Workbooks.Open Filename:=myPath & fromF(fIdx) & ".xlsx" myValue = Cells(1, 1).Value ActiveWorkbook.Close False Workbooks.Open Filename:=myPath & toF(fIdx) & ".xlsx" Cells(1, 1).Value = myValue ActiveWorkbook.Close True Next End Sub

nikomaru557
質問者

お礼

さっそくご回答いただきありがとうございます。 もし、エクセルでのマクロで記録できる方法をご存知でしたら教えてください。 実際には、以下のような処理をしたいので、エクセルの記録機能で登録ができると簡単にできるのではないかと思っているのですが。(ブック間のコピペを複数ファイル分こなせるよう) file.Aのsheet1のA1~X10セル ⇒ file.AAのsheet1のB2~Y11セル へコピー file.AAAのsheet1のA1~X10セル ⇒ file.AAのsheet2のB2~Y11セル へコピー file.AAAのsheet2のA1~X10セル ⇒ file.AAのsheet3のB2~Y11セル へコピー file.AAAのsheet3のA1~X10セル ⇒ file.AAのsheet4のB2~Y11セル へコピー     ・     ・     ・ file.Xのsheet1のA1~X10セル ⇒ file.XXのsheet1のB2~Y11セル へコピー file.XXXのsheet1のA1~X10セル ⇒ file.XXのsheet2のB2~Y11セル へコピー file.XXXのsheet2のA1~X10セル ⇒ file.XXのsheet3のB2~Y11セル へコピー file.XXXのsheet3のA1~X10セル ⇒ file.XXのsheet4のB2~Y11セル へコピー VBA言語の知識がほとんどないので、エクセルの記録機能で対応したいと思います。

関連するQ&A

  • エクセルのブック間のコピペのマクロ構文を教えて下さい

    はじめまして。 マクロは初心者なので、ご教授いただけるとありがたいです。 エクセルのワークブック1のシート1をコピーして、ワークブックAのシートaにペーストをする構文をお願いします。 マクロの記録で作って実行してみましたが、コピーするファイルが開いているときはうまくいって、開いていないとないとうまくいきませんでした。 コピーするファイルが開いていない状態でもコピーできる方法はないのでしょうか… よろしくお願いいたします。

  • エクセル マクロ 複数ファイルを1枚のファイルに

    お世話になります。 私の業務で、多数のエクセルシートを1つのファイルにまとめ、 その上で縦串を通して合算を出す、という作業が頻発しております。 様々な資料で同様の作業が行われますので、簡素化ができればと思い、 質問させていただきます。 [作りたいマクロ] 『元データ』のフォルダに入っているエクセルファイルの 『指定シート(仮にA2セルにシート名を指定できるものとします)』を、 当マクロの入ったエクセルファイルにシートを追加したい。 その際、全てのシート名が同一になってしまうので、 『指定したセル(仮に各シートのB2セル)』をシート名にする。 ●各シートは全て同じフォーマットですので、書式等そのままコピーでOKです ●元のファイル名はバラバラになっていることが多いです

  • 複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロ

    複数のエクセルファイルを1つのエクセルファイルのシートにコピーをマクロで行いたい。 マイドキュメントのデーターというフォルダ内に エクセルファイルA(シート名みかん) エクセルファイルB(シート名りんご) エクセルファイルC(シート名バナナ) エクセルファイルD(シート名ぶどう) エクセルファイルE(シート名いちご) があります。 雛形は同じです。すべてA列~F列までデータが入っています。 行数はファイルによって違います。 また毎日自動で上書き更新され、毎日行数が変わります。 エクセルファイルZがあります。シートが7個あります。 ・変換 ・集計 ・みかん ・りんご ・バナナ ・ぶどう ・いちご エクセルファイルZを開きます。(各シートには昨日のデータが貼り付けてあります。) マイドキュメントのデーターフォルダも開いておきます。 エクセルファイルZにおいて「マクロの記録」を起動。 エクセルファイルZの 【みかん】~【いちご】までの5シートを全データDELETEします。 開いてあるフォルダ「データー」の中からエクセルファイルAを開きます。 (タスクバーにいます) ファイルAのシート【みかん】の全データ選択して エクセルファイルZの【みかん】というシートのA1セルにカーソルを あわせて貼り付けします。 開いてあるフォルダ「データー」の中からエクセルファイルBを開きます。 (タスクバーにいます) ファイルBのシート【りんご】の全データ選択して エクセルファイルZの【りんご】というシートのA1セルにカーソルを あわせて貼り付けします。 これと同じ操作を【バナナ】【ぶどう】【いちご】も行います。 エクセルファイルZにおいて「マクロの記録」を終了させます。 マクロができあがりました。 ファイルZを上書き保存して終了。再立ち上げで記録したマクロを実行。 エラーにはなりませんが、ファイルZの5種類各シートに ファイルA~Eのデータが貼りつきません。 何か無理な事をしているのでしょうか? もしかしてシート名が同じだと駄目?とためしにファイルZのシート名【みかん】~【いちご】を 【みかんZ】~【いちごZ】に変更してマクロを再記録しても 駄目でした。 よろしくお願いします。

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

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

  • EXCELのマクロでテキストを読み込む方法

    EXCELのマクロを使って、テキストファイルから、ある文字列を検索し、コピーしEXCELのシートのセルにペーストするマクロの書き方をご存知の方は、ご教示願います。 例えば、テキストファイル中の「dog」という文字列を検索して、EXCELの決まったセル(A、1)にコピペするというマクロです。 よろしくお願い申し上げます。

  • Excel データコピーのマクロ

    ExcelでAというファイルのデータをBというファイルにコピー&ペーストするマクロを組みたいと考えています。 本当はAファイルを開かずにできるとベストなのですが、 マクロを実行する(マクロ登録したオートシェイプを押す)とAファイルを開き、 Bファイルにコピペが終わればAファイルを閉じるという動作を行うマクロは組めるでしょうか? どなたか、ご存知の方が居られればお教え願います。 よろしくお願いいたします。

  • Excelマクロ 統合セルの連続コピペ

    Excelマクロの初心者です 現在以下のことをマクロで行おうと思ってます。 ファイルAのシートAのC11に入ってる文章を同じファイル内にあるシート2のA46:F51の統合してあるセルにコピペします。 そして次にファイルAのシートD11に入ってる文章をシート3のA46:F51の統合してあるセルにコピペします。 このような作業をファイルAのAC11まで続けたいです。 どなたか教えて頂けないでしょうか? よろしくお願いします。

  • エクセルで変化する行数に対応してコピーするマクロ

    エクセルワークブックAを検索して見つかった範囲をワークブックBのシートとセルを指定して転記するマクロ。 このようなマクロコードを教えてください。 ブックAのシート1に以下のような配置で文字と数値が入っています。 A列        B列      C列      D列      E列 あいう えお            10       aa      かかか     123          20       ss      ききき     456                        くくく      8910                        けけけ     234                        こここ     5678                        さささ     9123 -------------スペース-------------------------------- かきく けこ             10      aa      かかか     123           20      ss      ききき      456           30      dd      くくく      8910                        けけけ      234                        こここ      5678 -------------スペース-------------------------------- さしす せそ             10      aa      かかか      123           20      ss      ききき      456                        くくく       8910                        けけけ       234 -------------スペース-------------------------------- 上記の様にスペースとスペースの間を1グループとしてコピーしたいのですが、行数が変化します。 また列によって入力されてる行数も違います。 ブックBから操作するマクロでブックAのシート1の”あいう”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート1のA1に貼り付ける。 (あいう えお~9123まで) 続いてブックAのシート1の”かきく”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート2のA1に貼り付ける。 (かきく けこ~5678まで) ブックAのシート1の”さしす”という文字列を含んだセルを検索して、 次のスペースまでの1グループをコピーしてブックBのシート3のA1に貼り付ける。 (さしす せそ~234まで) *ブックAのファイル名は固定ですが、ブックBは毎回違います。 マクロの実行はブックBから行います。 この様な条件でのマクロを教えてください。 行数変化に対応している部分に但し書きを付けて頂けると応用が利きますので有難いです。

  • エクセル【マクロ】について

    初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。

  • エクセルでのマクロ作成

    エクセルで作成したボタンをクリックすると以下の事を行うマクロを作りたいと思っています。 (1)最初に貼り付けたいセルの範囲をドラッグで選択する。(手動) (2)マクロを登録したボタンを押す。 (3)マクロ内で指定したセル(たとえば $A$1)をコピーして、(2)でボタンを押してマクロを実行する前に(1)で選択したセルの範囲に貼り付ける。 VBAが分からないので難儀しています。 宜しくお願いします。