• ベストアンサー

エクセルで。。。

エクセルで顧客リスト(Aとします)を作成し、 その後、別のエクセルファイル(B)を開くと、Aのデータを自動的に読み込むよう、設定したいです。 (ファイルBのSheet1に自動的に張り付く等) ただ、Bのファイル名は常に同じですが、 Aのファイル名は、毎日変わります。(その日の日付「20091218」等) どのような設定をすれば良いでしょうか???

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>マクロを使う方法と、関数を使う方法、どちらが初心者に易しいでしょうか?笑 今回の操作は、マクロなしには対応できないように思います。 初心者がマクロで対応する場合は、新しいマクロの記録で基本部分を作成し、そのコードを修正する必要があります。 シートのレイアウトやコピーしたい対象がよくわからないのですが、特定の日付のブックを作成したら、そのデータの一部をデータベースのブックに保存したいという意味なら、エクセルのアドインであるデータ追跡機能付きテンプレートウィザードを使用することができます。 以下のページを参考にして、今回の質問で希望する操作になるか調べてみてください。 http://kokodane.com/tec3_25.htm Excel 2003 および Excel 2007 に Excel 2002 のレポート アドインおよびテンプレート ウィザード アドインをインストールする方法 http://support.microsoft.com/kb/873209/ja

その他の回答 (3)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>参照元のファイルを開いた状態で、Bファイルを開き、Aの情報を読み込みたいと思っています。 ということは、ファイル名を指定するのではなく、現在開いているファイルの特定部分をコピーしたいということでしょうか。 その場合は、マクロを使う必要があります。 マクロコードを修正できるレベルであれば、コピー元のファイルを開いた状態で、「新しいマクロの記録」でご希望の操作を行ってみて、他のファイルもうまく取り込めるか試してみてください(この操作でうまくいかなかった点をポイントを絞って質問されるとよいと思います)。 もし関数で表示させたいなら、コピー元のファイル名をセルに入力して、それを参照する形のINDIRECT関数を使用することになりますが、その場合は参照元のファイル(同じフォルダに入れておく必要あり)のフルパスが必要です。 この場合は、まずどこかのセルに「=」と入力し、コピー元のセルをクリックしてデータを参照する数式を作成し、lコピー元のファイルを閉じててください。 この数式をINDIRECT欄数で参照するようにすれば同時に開いているファイル名のブックのデータを参照することができます。 また、HYPERLINK関数を使えば、セルに入力したファイルをリンクをクリックするだけで開くことができます。 これらの数式については、実際にセルに表示されているリンク数式を提示されれば、具体的な回答ができると思います。 >その後、Bのシート1~3の各C列の合計を、Bのシート4の、A1セル、A2セル、A3セルへ張り付くようにしたいです。 これはBシート内のようですので、単純なSUM関数や串刺し集計でできると思うのですが・・・・ いずれにしろ、現在の質問内容では一般的な回答しかできません。 みなさんからの具体的な回答を期待するなら、もう少し具体的にご希望の操作を提示されたほうがよいと思います。 Aのシート1~3を、Bのシート1~3に貼り付ける。等です。

sonysonyss
質問者

お礼

お礼が遅くなってしまい、申し訳ございません。 詳しく教えていただき、本当にありがとうございます!! 仕事で常にPCを使っていますが、エクセルにしても、深い知識はありません。 関数はそこそこ使用しますが、INDIRECT関数、HYPERLINK関数については使用したことがありません。 マクロも同じくです。。。 こんな状態ですが、仕事上どうしても今回の質問のような作業(現在は手作業でSheetをコピペ等しています。)を迅速・的確に行いたいので、勉強しながらどうにか作成してみたいと思います。 マクロを使う方法と、関数を使う方法、どちらが初心者に易しいでしょうか?笑 また、関数の場合はコピー元のファイルが常に同じでないといけない印象をうけましたので、 ファイル名が日々異なる場合は、やはりマクロを使ったほうが良いのでしょうか?

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

数式は、決まったものでないと、呼び出すことはできません。開いているものや自分のブックの範囲内だけで、開いていないファイルを関数で、データを含めて呼び出すようなことはできません。その都度変わるものに対しては、「自動的」という範疇では、マクロでないと不可能だと思います。 >Aのファイル名は、毎日変わります。(その日の日付「20091218」等) 毎日変わるという、その呼び出す日付(変数)は、本日から1ヶ月前とかでしょうか? 必ず存在するブックを開くというルール付けもはっきりしなくてはなりません。 また、その日の日付なら、まず、そのブックを予め作って置かなくてはなりません。

sonysonyss
質問者

お礼

Aのファイルは毎日作成します。 作成が終わった段階でBファイル(あらかじめ数式等を設定しておく)を開けば、Aを読み込む事は可能という事でしょうか? また、B(シート1へとします。)への読み込みさえうまくいけば、あとはBファイルの各シートに、 ここにはシート1のセル1を貼り付けて~とか、 シート1のC列の合計を貼り付けて~とか 数式を入れておけば良いのでしょうか? そうすれば、Bファイルのシート1が変わる都度、その他のシートも反映してくれるのでしょうか??

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

ファイルBのどこかのセルに開きたいブック名を入力しておき、この値を参照するINDIRECT関数を用いて、他のブックの値を引っ張ってくることができますが、この場合には参照元のファイルを開いておく必要があります。 ファイルBから参照元のブックを開くにはHYPERLINK関数を使用することで、クリックするだけで開くことが可能です。 上記の方法は、特定のセルに入力したブック名のセルを参照する方法ですが、当日のブック名を参照するなら、TODAY関数で自動的にファイルを指定することもできます。 このようなご質問では、どのセルに検索したいブック名が記載されているのかや、どのような特定のフォルダにあるブックのセルを参照するのか、そのセルを参照した数式を具体的に提示されたほうが、的確な回答が得られると思います。

sonysonyss
質問者

お礼

ありがとうございます。 Aのファイル名ですが、まず当日という事はなく、翌日か、翌々日の日付で作成していきます。 参照元のファイルを開いた状態で、Bファイルを開き、Aの情報を読み込みたいと思っています。 Aのシート1~3を、Bのシート1~3に貼り付ける。等です。 その後、Bのシート1~3の各C列の合計を、Bのシート4の、A1セル、A2セル、A3セルへ 張り付くようにしたいです。

関連するQ&A