• ベストアンサー

マクロ(エクセルシートコピー先)に関して

分かりましたら教えてください。 A.xlsのシートBを、新しいブックにコピーし移動するときに、そのブック名が、常にそのシートBのセルC3に入力されている文字の名前にするようにマクロを組みました。(....Filename:Range("C3")としています。) さらにC.xlsのシートDもその新しいブックにコピー移動させるマクロを追加したいのですが、コピー先をどのように指定すればいいのでしょうか。。

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

  • ベストアンサー
  • zawax
  • ベストアンサー率50% (3/6)
回答No.2

あ、なるほど。Workbookコレクションに追加しただけで保存はしていないのですね。 この場合はE.xlsは、Workbookコレクションの最後のものですので、 E.xlsを制御したい場合は dim wb as workbook set wb=workbooks(workbooks.count) で取れますね。 では、質問にある、"E.xls"を何に置き換えればよいか、ですが 上記の後にwb.nameまたはwb.indexでよいでしょう。

minnye
質問者

お礼

有難うございました。 明日会社で早速やってみます。

その他の回答 (1)

  • zawax
  • ベストアンサー率50% (3/6)
回答No.1

A.xlsのBシートを新しいブック(E.xlsと仮定)に保存するマクロは A.xlsに組み込んだが、このA.xlsのマクロ内で別途C.xlsをオープンして DシートをE.xlsにコピーしたい。 ということですね。。 シートBから新しいブック保存する際のファイル名はマクロ内でわかりますよね。(上記仮定したE.xls) E.xlsとC.xlsをopenするとそれぞれのworkbookが取得できますので これを変数にセットして操作できます。

minnye
質問者

お礼

さっそくのご回答、ありがとうございます。 マクロ初心者のため、すみません。具体的に教えていただけませんでしょうか・・。 (ファイル名をセルの名前にしたため、毎回マクロを実行させる度に (E.xls)が(BPS-***)で、***が常に変わってしまうので、どのようにしたらよいか悩んでいるおります。。。 具体的に書くと、 Sheets("d").Copy :=Workbooks("E.xls").Sheets(1) で、常にE.xlsが変わるのですが。。 ("E.xls)のところはどのように指定すればよいのでしょうか・・。)

関連するQ&A