- 締切済み
同じフォルダの全CSVから特定列の情報取得したい
同じフォルダーの中にあるすべてのCSVファイルから特定範囲のデータをひとつのExcelファイルに取り込みたいのですが、どのようにしたらいいのでしょうか? 【2月.CSV】 (※同様のファイルが1月~6月まであります。) データ1 データ2 データ3 1 5.76 5.21 3.25 2 5.36 5.05 1.25 3 5.21 4.06 2.28 4 5.32 3.25 4.25 5 4.21 2.81 7.65 【月別データ2一覧.xls】 ID 1月 2月 3月 4月 1 5.21 2 5.05 3 4.06 4 5 6 「月別データ2一覧.xls」ファイルのそれぞれの月のところへ、月のCSV(1行目~3行目)のデータを取り込むようなマクロを組みたいのですがどの様にしたら良いのかわからないので教えてください。また、取り込む時に、CSVファイルを画面上に開かないでやりたいのですが、可能なのでしょうか? 可能であれば、合わせてどのようにしたらいいのか教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Prome_Lin
- ベストアンサー率42% (201/470)
1月.CSV 5.76 1.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 2月.CSV 5.76 2.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 3月.CSV 5.76 3.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 4月.CSV 5.76 4.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 5月.CSV 5.76 5.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 6月.CSV 5.76 6.21 3.25 5.36 5.05 1.25 5.21 4.06 2.28 5.32 3.25 4.25 4.21 2.81 7.65 というデータがDドライブの「Data」フォルダにあるとして、 Excelのシートの方は、 ID 1月 2月 3月 4月 5月 6月 1 2 3 4 5 6 となっている場合、 Sub OkWave() Dim i, j As Integer Dim f, d As String Dim m As Variant For i = 1 To 6 F = CStr(i) & "月.csv" Open "D:\Data\" & f For Input As #1 For j = 1 To 3 Line Input #1, d m = Split(d, vbTab) Cells(j + 1, i + 1).Value = m(1) Next j Close #1 Next i End Sub で、 ID 1月 2月 3月 4月 5月 6月 1 1.21 2.21 3.21 4.21 5.21 6.21 2 5.05 5.05 5.05 5.05 5.05 5.05 3 4.06 4.06 4.06 4.06 4.06 4.06 4 5 6 となりました。 美しいプログラムでなくてすみません。
お礼
ありがとうございます おかげさまで解決することができました。 あと、気づくのが遅くなってしまいすいませんでした