• 締切済み

マクロ 同じフォーマットのそれぞれのファイルから データをコピーペーストする方法

お世話になります。 マクロを使って 共通フォーマットの複数のファイルのデータを 別なエクセルファイルに コピーペーストするやり方を教えていただけないでしょうか。 複数のファイルは共通のフォーマットです。しかし保存名と内容は違っています。フォーマット化されていない部分のデータをコピーし、仮にAというファイルの一部分に貼り付けるというものです。 具体的には 名前:●●●   ←この●●●だけをコピーする ファイルA   名前:□□□   ←●●●データを□□□位置にペースト この作業を繰り返すというものです。 個人用マクロブックにマクロを作ってみたのですが作成したときのファイルのデータまで記録されていて マクロが動いても その時のデータが張り付いてしまって困ります。 ●●●のところを「現在開いているエクセル」とか命令すればいいのでしょうかね・・・。 いいやり方を教えて下さい。

みんなの回答

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

例えば、FileOpenメソッドでファイルを開くと、自動的にそのブックがアクティブになります。 よってそれを利用してSheet1のセルA1の値を変数Xに格納する場合、 X = ActiveWorkbook.Sheets("Sheet1").Range("A1").Value で良いことになります。次に、ファイルAのSheet1のセルA1にXの値を張り付けるわけですから、 Workbooks("ファイルA.xls").Sheets("Sheet1").Range("A1").Value = X とすれば良いです。マクロがファイルAから実行されているのであれば、 ThisWorkbook.Sheets("Sheet1").Range("A1").Value = X でも良いですね。もちろん変数を介さず、 ThisWorkbook.Sheets("Sheet1").Range("A1").Value = _ ActiveWorkbook.Sheets("Sheet1").Range("A1").Value としても良いです。