• 締切済み

複数のエクセルから必要な情報のみシートへ表示させる

工事毎にエクセルで工程表を作成しました。 データファイルは100コほどあり、1つのフォルダに保存しています。 材料の発注予定日・工事名をピックアップして、発注担当が全ての工事の発注時期を確認できるようにリストを作りたいです。 工程表のシート名は『3ヵ月』『6ヵ月』『12ヵ月』と工期によってシートを使い分けており、作成後は『3ヵ月』『6ヵ月』『12ヵ月』のいずれかのシートだけをのこしています。 『3ヵ月』『6ヵ月』『12ヵ月』のシートから取り出したい情報の位置は、 (1)材料の発注予定日: E15 (2)工事名        : C6    にあります。 それをブック1のSheet1の (1)材料の発注予定日: C9 (2)工事名        : B9    のセル以降に表示させたいです。 情報提供をお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

シートのデータをテーマ(工事や工事工程など)ごとに作って、そのシート群やブック群を横断的に参照して、望みのシートデータにするのは、関数では、複雑になって無理でしょう。 多分VBAも経験もないのだろうが、そもそも、エクセルでVBAも出来ないのに、仕事に絡んだことに手を出す、取り掛かるということに無理があるのです。 関数でも他ブック(他シート)参照する式があるので、その辺から勉強したら。そんなことも1言も書いてないということは、 勉強してないのだろう。 例 http://www.excel-jiten.net/formula/ref_other_books.htm  の最後の方lなど、Googleで「エクセル 他ブック参照」で照会して読んで、使ってみる。 エクセルのシート表は、データ(ベースなど)から抜き出して、集約、集計、編集などした結果(表示、閲覧、印刷など)に使う(似は適当な)ものという気がする。 こんなところへ他人頼りに丸投げして、文章回答でやろうとするのは無理。 とりあえずは操作で処理することで苦労するしかない。そのうち関数や簡単なVBAで手助けできる部分があるかもしれない。 まず判らないことの焦点でも整理して、質問しすべきだ。 ーー 一番良いのは質問の課題に相応しい既製のソフトが見つかると良いが、やる人のそれぞれの好み(仕様)が合わないだろう。

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

とりあえず簡単のため,纏めブックを「用意のどこかのフォルダ」の中に,つまりデータファイルの隣りに入れておきます 纏めブックを開き ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim myFile as string  dim myPath as string  dim i as long  mypath = thisworkbook.path & "\"  myfile = dir(mypath & "*.xls*")  i = 9  do until myfile = ""  if myfile <> thisworkbook.name then  cells(i+3, "B").select  cells(i, "B").formula = "='" & mypath & "[" & myfile & "]3ヶ月'!C6"  cells(i, "C").formula = "='" & mypath & "[" & myfile & "]3ヶ月'!E15"  cells(i+1,"B").formula ="='" & mypath & "[" & myfile & "]6ヶ月'!C6"  cells(i+1,"C").formula ="='" & mypath & "[" & myfile & "]6ヶ月'!E15"  cells(i+2,"B").formula ="='" & mypath & "[" & myfile & "]12ヶ月'!C6"  cells(i+2,"C").formula ="='" & mypath & "[" & myfile & "]12ヶ月'!E15"  i = i + 3  end if  myfile = dir()  loop end sub ファイルメニューから終了してエクセルに戻る ALT+F8を押し,macro1を実行する。 #ワザワザマクロとか使わなくても,ネットから入手できる「ファイル一覧ソフト」とか,ちゃちゃっとコマンドプロンプトで操作することで「ファイル一覧のテキストファイル(CSVファイルなど)」を用意してエクセルに読み込めば,あとはちょっとした数式と置換などの手作業で,必要な数式を一斉に作成してセルに埋める作業も簡単にできます。

関連するQ&A