プロが教えるわが家の防犯対策術!

現在、「A+日付」と「B」の2つのファイルがあり、
「A+日付」のデータをコピーして「B」に貼り付けるマクロが組まれています。
マクロは「B」のファイルに組まれています。

ただし、マクロでファイルを特定するために日付を削除して、「A」にファイル名を
変更してから実施しています。
流れとしてはフルパスで「A」を開いて、「A」の指定範囲のデータをコピーし、
「B」に貼り付けとなっています。

これをダイアログで任意のファイル「A+日付」を選択して、
そのデータを「B」に貼り付けるように変更したいのですが、
マクロの知識がなくわかりません。
既に組まれている簡単なマクロなら、なんとか解読できる程度の理解力です。

ダイアログでファイルを開くだけなら、ネットでも探せましたが、
そのファイルの指定範囲のデータをコピーする指示の仕方が判りません。

どなたかご教示頂けると助かります。
宜しくお願い致します。

A 回答 (2件)

ごめんなさい、思いっきりデタラメを書きました。



訂正:
workbooks.open filename:=myfile

失礼しました。

この回答への補足

ようやく時間が取れたのでトライしてみました。
希望した通りの動作が出来ました。
ありがとうございます。

補足日時:2014/06/27 22:34
    • good
    • 0
この回答へのお礼

早々にご回答いただきありがとうございます。
時間が取れないためまだ確認できていませんが、勉強させて頂きます。

お礼日時:2014/06/18 23:54

>ダイアログでファイルを開くだけなら、ネットでも探せました



ブックが開けたら、あとはコピーするだけです。所定のシートの、所定のセル範囲をキチンと指定して。

sub macro1()
 dim myFile as string
 myfile = application.getopenfilename()
 if myfile = "False" then exit sub

 workbooks(myfile).open
 activeworkbook.worksheets("シート名など").range("セル範囲").copy _
  destination:=thisworkbook.worksheets("シート名").range("A1")
 activeworkbook.close false
end sub


コピー元となるシート名を指定できない場合は、具体的に「どのシートからコピーしたいのか」事実に即してマクロに組み込む必要があります。たとえば「1枚目のシート」などのように。
同様に「どのセル範囲をコピーしたいのか」も、ご相談ではナイショのままですが、適切に指定する必要がありますね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!