| 
    
     |  | こんにちわ 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
 
 |  |