質問: エクセルについての質問 現在、エクセルの4つファイルを6人で共有しています。 そのファイルa~dに店舗情報が2000件程あります。 a~dファイルの店舗名は一致していますが、情報の内容が違います。 やりたいことは店舗名毎にファイルを作り、店舗名毎のファイルにa~dファイルの内容を参照させたいと考えています。 店舗名毎のファイルのテンプレートはあります。 アドバイスをいただきたい事 (1)、aファイルの店舗名から自動的にテンプレートのファイルのファイル名を入力してエクセルファイルとして作成する方法。作成するファイルは2000個位になります。 (2)、(1)で作成したファイルのを自動で開き(vlookup関数があります)、参照させたのち、ファイルを保存して閉じる。 (3)、(2)の内容を繰り返す。2000個のファイルがあるため。
回答: メモリ不足でa~dの元ファイルが開けないならデータの更新という か読み込みは出来ない問題や、全部が別ファイルになってて検索も 比較も出来ない2000個のexcelファイルの山に使い道があるとは思え ない問題はおいといて、テンプレートを作ってあってファイル名を 元にlookupするようになってるのなら、やんなくちゃいけないこと は「テンプレートのコピーに店舗名なファイル名をつける」だけ。 中身はそれぞれのファイルを開く毎にvlookup関数が元のa~dのファ イルを開いて参照します。 とすると、excelのマクロなんてまだるっこしいことをせずに、dos のバッチで処理した方が数百倍速いですね。 1.aファイルの店舗名の列だけを抜き出してテキストファイルとして 保存。1行に1店舗のファイル「master.txt」を作る。 2.コマンドラインで、 for %%f in (master.txt) do copy template.xls %%f.xls こんな感じ。文法はうろ覚えだからどこかで確認してね。