- ベストアンサー
エクセル2007で複数ファイル間コピーマクロ
- エクセルでマクロを組もうとしていますが、初心者のため困っています。複数ファイル間でのコピーマクロを作成したいです。
- VBA言語がわからないので、エクセルでマクロを作成中です。ワークブック間のコピペをマクロに登録すると、うまく動作しません。解決策を教えてください。
- A-Zのファイル間でコピーマクロを作成したいです。VBAを確認すると、ワークブック名が指定されており、次のファイルに移行できません。どのようにすれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロの記録では不可能だと思います。 プログラムソースを書けなくても編集する程度のことができなければあきらめた方がよろしいかと思います。 もし「プログラムソースを標準モジュールへ貼り付ける」ことを覚える気があるのでしたら、ソースコードをここに回答いたします。
その他の回答 (1)
- kigoshi
- ベストアンサー率46% (120/260)
とりあえず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
お礼
さっそくご回答いただきありがとうございます。 もし、エクセルでのマクロで記録できる方法をご存知でしたら教えてください。 実際には、以下のような処理をしたいので、エクセルの記録機能で登録ができると簡単にできるのではないかと思っているのですが。(ブック間のコピペを複数ファイル分こなせるよう) 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言語の知識がほとんどないので、エクセルの記録機能で対応したいと思います。
お礼
回答ありがとうございます。 マクロの記録で対応ができないということなんですね。 ちょっとした方法を知らないだけでマクロの記録で登録する方法があるのではないかといろいろ調べていたので、マクロの記録ではできないということがわかって助かりました。