|
こんにちわ
Excel2003を使っています
知識のある方ご教授願います以下説明文です
C\Dataというフォルダに、CSVファイルが毎日作っています3種類
CSVファイル名は、
1. A20090219.BB.csv
2. A20090219.CC.csv
3. A20090219.DD.csv
CSVファイルの内容
1. 1,11,12,13,〜70
↓
24,11,12,13,〜70
横70個縦24個カンマで区切られています。
2.は横70個縦24個カンマで区切られています。
3.は横70縦2個カンマで区切られています。
それをフォーマット.xlsというExcelファイルのセルに値を入れたい。
1.の1行を11〜30個→sheet1 B9〜AE9
31個目〜60個→sheet2 B9〜AE9
61個目〜70個→sheet3 B9〜K9
以下24行目 →sheet1 B32〜AE32
31個目〜60個→sheet2 B32〜AE32
61個目〜70個→sheet3 B32〜K32
2.の値は配列の変数で持ちたい
1or0なので1だったらこのセルの背景色を赤とかの条件で使用したい。
3.は1.みたいにセルに代入したい。B33〜sheet3.K34
1.は読込できましたが、複数のCSV読込がわかりません?
Dirの使い方とか?
ファイル名の読込とか(今は固定ファイル読込)
*読込方法は日付を選択してボタン押します。
長くなってしまったのでここまでで、どなたか教えてください
返信は自己都合の為、遅くなるかもしれませんが、
宜しくお願い致します。
Sub test()
Dim csvFile As String
Dim ch As Integer
Dim csvStr As String
Dim str() As String
Dim i As Integer
csvFile = "C:\DataF\TEST.csv" ’今は固定
'空いている番号を取得
ch = FreeFile
Open csvFile For Input As #ch
i = 8
Do While Not EOF(ch)
Line Input #ch, csvStr
'カンマ区切りで配列に格納
str = Split(csvStr, ",")
'セルのレンジを指定して、配列の値をセット長くなるので途中で区切ってる。
With Worksheets("Sheet1")
.Cells(i, 1).Value = str(1)
.Cells(i, 2).Value = str(2)
.Cells(i, 3).Value = str(3)
End With
With Worksheets("Sheet2")
.Cells(i, 1).Value = str(11)
.Cells(i, 2).Value = str(12)
.Cells(i, 3).Value = str(13)
End With
i = i + 1
Loop
'ファイルクローズ
Close #ch
End Sub
|
|