• ベストアンサー

データを別BOOKの指定セルに流し込む方法

エクセル2003のVBAを使用し、データを別BOOKの指定セルに流し込む方法を教えて下さい。 シート名「流し込み用」の中のデータは4行目から1000行目まで入っていて、列はAとBが結合、DEFが結合されていてGまで4つのデータが入っています。 このデータを10行ずつ、BOOK2のシート名(QW-1)~(QW-100)の指定セル(行は16~25の間、列の並びはBOOK1と同じ)に流し込みたいと思っています。BOOK1のデータもBOOK2のシートも今後増えていきます。 どなたか詳しい方、ご教示いただけないでしょうか?

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

データが一度にどれくらい増えていくのかわかりませんが、増える量がそれほどでもないのでしたら、最初は手間がかかりますが、VBA使用しなくてもBook2の該当シートの該当のセルに式を書いておけばいいのではないでしょうか 手順としては Book1とBook2を開いておいて、Book2のシートQW-1セルA16に=と書いてBook1のA4セルを選択して確定すれば =[Book1.xls]流し込み用!$A$4 になるので4の前の$を取り除く 以降C16,D16、G16で同じように操作して、その後AからGまで選択してコピーしてC17からG25まで選択して形式を選択して貼り付けで「式」 シートQW-2にQW-1のA16からG16をコピーし、置換で 4 を 14 にしてから AからGまで選択して先ほどのコピー貼り付け手順を実施 このパターンを必要なだけ繰り返す。 データが増えたら増えたときに必要なだけ上記の手順を実施する。事前に式を含むシートを作成しておいてもOK。 こうしておくと、データのある流し込み用シートを別シートに分割した場合でも、Book2の該当シートで式のシート名の部分だけで置換を利用して変更するだけで対応できます。 また、QW-xのシート名が変更になっても何も手を加える必要がありません。 VBAの場合は、上記のような変更があればコードの変更やVBAそのものを変更する必要がでてきます。

makabeti
質問者

お礼

コメント頂き有難うございます。 VBAを使用しなくてもなんとかなりそうですね。早速教えていただいた作業を実行してみます。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

<このデータを10行ずつ、BOOK2のシート名(QW-1)~(QW-100)の指定セル・・・ この構成自体が良くないです。 むやみにシートを増やしても使いにくだけですよ。 構成でいえば 1、全てのデータが縦方向に蓄積されているデータシート 2、希望の内容を抽出する抽出シート の2枚構成で考え直してみてください。 例ですが データをA~Dの4列に追加して行くようなVBAでも準備する。 抽出のシートの 上部分にセルに QW-1 とか現在のシート名にあたる項目を 入力するセルを配置 16行目から以下に、入力した内容に応じて希望のデータが表示される関数を考える。 シートを横へ探して移動するより、はるかに使いやすくなります。 一度、会社の担当者、上司(?)の方へ相談してみてください。 この手の間違ったやり方を続けていくとだんだん複雑になり、最後は破たんします。

makabeti
質問者

お礼

とても参考になるコメントいただき有難うございます。

関連するQ&A