- ベストアンサー
各ファイル中データの張付け操作についてお願いします
- 各ファイル中のデータをまとめたファイルを作成する方法について教えてください。
- 一週間分のデータをまとめたファイルを簡便な方法で作成したいです。
- エクセル2007を使用して、一週間分のデータをまとめる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、最初に、データを1日単位でファイルで保存した来たことに問題アリです。 どうすべきであったかというと、毎日のファイルを開いて、一つのエクセルシート 或いは、データベースに追加していって、ひとつにまとめておくという管理です。 以下のエクセルのシートにすべてのcsvファイルをまとめるVBAです。 使い方ですが、 新規のBookを開く、1行目に A B C 日付 数値 数値・・ と項目を準備しておく Alt +F11キーを押して、VBエディターを起動 挿入=>標準モジュールでモジュールを作成して 以下のコードを貼り付けて閉じます。 Alt + F8 で作成したマクロを実行してみてください。 Sub ボタン1_Click() Dim buf As String buf = Dir(ThisWorkbook.Path & "\*.csv") Do While buf <> "" i = i + 1 Workbooks.Open ThisWorkbook.Path & "\" & buf GYOU = ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1 ThisWorkbook.ActiveSheet.Rows(GYOU & ":" & GYOU + 2000).Value = Rows("2:2002").Value Workbooks(buf).Close SaveChanges:=False buf = Dir() Loop End Sub これで、データが一つになるので、 別シートに必要な日付の区間のデータが抽出できる機能を追加すれば十分です。 必要な区間ごとに名前を付けてファイルをたくさん作っても使いにくいだけですよ。
その他の回答 (1)
中身のフォーマットにも依りますが、Accessなどのデータベースで読ませて日付指定で書き出すのが早そうですね。 ファイルの結合だけで済ませられるなら、vb/vba/vbsでごにょごにょできそうです。 COPY 20120102.csv+20120103.csv+20120104.csv+20120105.csv+20120106.csv 201201-01.csv こんな感じのコマンドが自動で実行できれば良いわけで。 もちろん手で作っても、ひとつひとつくっつけるよりはマシと思われます。 周りにデータベースに詳しい人か、VB系プログラム書ける人いませんか?
お礼
ご返答いただきまして、どうもありがとうございました。 データの内容は、全てのファイルとも、 A列:日付 B列:数値1 C列:数値2 D列:数値3 E列:数値4 となっております。 残念ながら、小生の周辺には、詳しいひとがいない状況にあります。 参考となる考え方をお教えいただきまして、どうもありがとうございました。
お礼
お礼を遅れましたこと、深くお詫び申し上げます。 このようなマクロ(VBA)があったのですね!! 厚くお礼申し上げます。