| 
    
     |  | おはようございます。 配列を3つ作って、3列とりたいと言う事でしたら、こんな感じ...。
 ただ、1つの配列の大きさがどれだけの物かわからないけど、大きそうな物を3つも作って大丈夫なのかまでは解りません。
 それと、書き終わった後、全部の配列の後始末は忘れない様にした方が良いです。
 残しておくと、後々で処理が遅くなるみたいです。
 
 For I = 1 To 列数
 Input #1, Rdata
 If I = 15 Then
 CNT15 = CNT15 + 1
 Tbl(CNT15, 1) = Rdata
 ElseIf I = 16 Then
 CNT16 = CNT16 + 1
 Tbl2(CNT16, 1) = Rdata
 ElseIf I = 42 Then
 CNT42 = CNT42 + 1
 Tbl3(CNT42, 1) = Rdata
 End If
 Next
 
 
 それと、ノーマルの方余計な物が残ったままでした。
 
 Sub hui2()
 Dim 列数 As Integer, I As Long, CNT15 As Long, CNT16 As Long, CNT42 As Long
 FileOpen = Application.GetOpenFilename("Excelファイル (*.csv;*.txt), *.csv;*.txt")
 If FileOpen = False Then
 End
 End If
 列数 = 80   '←ここのフィールド数を変えてください。
 Open FileOpen For Input As #1
 Do Until EOF(1)
 For I = 1 To 列数
 Input #1, Rdata
 If I = 1 Then
 CNT15 = CNT15 + 1
 Range("A" & CNT15).Value = Rdata = Rdata
 ElseIf I = 16 Then
 CNT16 = CNT16 + 1
 Range("B" & CNT16).Value = Rdata = Rdata
 ElseIf I = 42 Then
 CNT42 = CNT42 + 1
 Range("C" & CNT42).Value = Rdata = Rdata
 End If
 Next
 Loop
 Close #1
 End Sub
 
 |  |