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