• ベストアンサー

エクセルでファイル間での表のコピーを自動で行いたいのですが。

エクセルでファイル間での表のコピーを自動で行いたいのですが。 エクセルで別ファイルに表のコピーを自動で行いたいのですが。 AファイルとBファイルに同じ表が作成されていて (まったく同じではありません、例えばBファイルの表には最後の列や行には合計行があるとか) Aファイルの表が変更された場合Bファイルの表も自動的に変更されて欲しいのですが 表の中の値だけでなく 表の行や列が増えたり減ったりという事も変更したいのですが

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

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

AファイルとBファイルは同時に開いていますか?。 そうでなければ、 瞬時に全く自動更新というのは、できないと思った方が良いです。 Aファイルで編集が終わったら、AファイルからBファイルへ反映させる か Aファイルで編集が終わったら、BファイルからAファイルの差分(か全部)取り込む と いう仕掛け(ボタン押すとかマクロ実行させるとか)になるかと思いますが、 どっちにするかで対応策も変わってきます。 どこのセルをどのセルへ、という定義づけ、一定のルールがないと 難しいところがあります。 Aのシート1とBのシート1を全く同じ構成、常に同じ状態に保つ。 Bのシート2にAとの機能的に差がある部分(=合計行部分とか)を記載。 これくらいにしないと無理のような気がします。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

AとBを同時に「開かない」ようにすれば,A→Bの連動は割と簡単に何もしないでも実現できます。 とりあえずファイル作成の時だけAを開いておき, BのA1に,ごくシンプルな =IF([BookA.xls]Sheet1!A1="","",BookA.xls]Sheet1!A1) の式を入れて,ちょっと広めの範囲に縦に横に(M列まで,200行目ぐらいまで)コピーして並べておきます。 Aを保存して閉じます。 Bを保存して閉じます。 Aを開き直します。  数字を書き換えたり  行を挿入したり削除したり  列を挿入したり削除したり します。 Aを保存します。とりあえずAを閉じます。 Bを開くと,Aで色々したその通りになってます。 >Bファイルの表には最後の列や行には合計行があるとか 普通のエクセル一般操作では,こちらは対応する方法はありません。 AのコピーではなくB独自の内容ですから。Aに必要なモノを全部書き込んでおくのが一番簡単な対処ですが,Aオリジナルの裏にAコピー+合計シートを作成しておき,そちらにリンクする様な手でも出来ます。 そういった「出来る方法」をしたくなければ,出来ないので諦めてください。ご相談のスコープで「自動的に変更」の目は無いので,マクロでも何でも使ってオリジナルBを作成させる事になります。

関連するQ&A