
詳しい方、教えて下さい。
あるファイル(Aとします)に、データが入っています。
そのデータを、複数の別ファイル(B,C,Dとします)に一度にコピーできるマクロというのは作成可能でしょうか。具体的には、ファイルAのワークシートに3銘柄の株価データが入っており、それをそれぞれファイルBCDのシート(同じ形式のファイルで、コピーする場所も同じです)に1回のマクロでコピーしたいのです。つまり、BCDのワークシートそれぞれでマクロを作成するのではなく、一発でAからBCDへのコピーができるマクロが可能か知りたいのです。また、そのマクロを動かす時に、BCDファイルを開いていなくともコピーはできるのでしょうか。少しわかりにくい質問かもしれませんが、宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
マクロというのは,手動ではイチイチ手順を追って操作して行かなきゃならない一連の操作を,1クリックでつるつるっと続けて自動的に行ってくれる自動手順のことです。
つまり,「一度にコピーする」んじゃなく,「手動では3回コピーしなきゃならないところを,マクロに3回コピーさせる動作を1クリックで行う」ワケです。あるいは「ブックBCDを開かずにコピーする(貼り付ける)」じゃなく,「Bを開いて貼り付ける。続けてCを開いて貼り付ける。続けてDを開いて貼り付ける。(必要に応じて更にBCDを保存して閉じる)」といった動作を,1クリックで行います。
#言葉を換えると,いかなマクロといえども「エクセルに出来ないこと」はマクロを使っても出来ません。
たとえば「ブックBCDに一度に貼り付ける」とか。「開いていないブックに貼り付けを行う」とか。
前置きが長くなりましたが。
コピー元のAブックに以下のマクロを登録して実行する。もちろんAを開いた状態で作業を開始する。
sub macro1()
application.screenupdating = false
’BCDを開く
workbooks.open filename:="c:\不明の場所の\B.xls"
workbooks.open filename:="c:\不明の場所の\C.xls"
workbooks.open filename:="c:\不明の場所の\D.xls"
’BCDに貼り付ける(一体どこにある何を?)
thisworkbook.worksheets("コピー元のシート名").range("A1").copy _
destination:=workbooks("B.xls").worksheets("シート名").range("A1")
thisworkbook.worksheets("コピー元のシート名").range("A1").copy _
destination:=workbooks("C.xls").worksheets("シート名").range("A1")
thisworkbook.worksheets("コピー元のシート名").range("A1").copy _
destination:=workbooks("D.xls").worksheets("シート名").range("A1")
’BCDを保存して閉じる
workbooks("B.xls").close savechanges:=true
workbooks("C.xls").close savechanges:=true
workbooks("D.xls").close savechanges:=true
application.screenupdating = true
end sub
#余談
試しに「BCDを開く →BCDに貼り付ける →BCDを保存して閉じる」というマクロを示しましたが,もしそうしたければ「Bを開いて貼り付けて閉じる,Cを開いて貼り付けて閉じる,Dを開いて貼り付けて閉じる」といった手順にしても勿論構いません。
趣味と,実際にヤリタイ事に応じて合理的に工夫してご自分でもマクロを(=どういう手順で具体的に一体”何”をすればごジブンのヤリタイ事が実現できるのか,脳トレしながら考えて)作成してみてください。
お忙しい中、ご丁寧な回答を頂きありがとうございました。マクロの考え方が良く理解できました。やはり1つ1つ手順を踏んでやるしかないようですね。頂いたマクロ活用させて頂き、いろいろ試行錯誤してみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセルVBA 個人用マクロブッ...
-
エクセルのvbaにて thisworkboo...
-
エクセル関数>参照ファイル名...
-
エクセルVBAで作成した別ブック...
-
マクロの保存先、開いてるすべ...
-
【マクロ】元データと同じお客...
-
エクセル;相対パスを絶対パスへ...
-
【Excel VBA】マクロでExcel自...
-
EXCELのボタンによるマクロの登...
-
EXCELブックが勝手に開いて困っ...
-
excelで直前に参照していたブッ...
-
VBA マクロで他のファイルを開...
-
エクセルで未保存に対するメッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルの保存方法等について...
-
【Excel】他ブックからOpenされ...
-
エクセルを開いて文字を打つ際...
-
1つのEXCELファイルをインター...
-
Excel VBA msoAutomationSecuri...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
【Excel】マクロの保存先について
-
【マクロ】元データと同じお客...
-
エクセル;相対パスを絶対パスへ...
-
エクセルで未保存に対するメッ...
-
excelで直前に参照していたブッ...
-
エクセルを開いて文字を打つ際...
-
EXcelのマクロで相対パスでファ...
-
EXCELのボタンによるマクロの登...
-
EXCELマクロで、開いてはいるが...
-
エクセルで使用期限付きのブッ...
-
EXCELブックが勝手に開いて困っ...
-
名前の変わるブックをアクティ...
-
複数のExcelファイルの印刷設定...
-
複数のExcelブックから特定シー...
-
エクセルVBAで作成した別ブック...
おすすめ情報