| 
    
     |  | こんにちは。 1例です。
 データ行数が何万行もあると、配列使っているほうが余計に遅くなると思います。
 (書き込みに時間がかかりフリーズしたみたいにOr本当にフリーズしちゃいます。)
 最近のPC性能ぐらいであれば、1つづつ書き込んで行ってもさほど時間は掛からないと思います。
 
 実際、手動と比べて速いのかどうか解りませんが....。
 
 配列使用
 Sub hui()
 Dim Tbl() As Variant
 FileOpen = Application.GetOpenFilename("Excelファイル (*.txt), *.txt")
 If FileOpen <> False Then
 Open FileOpen For Input As #1
 Else
 End
 End If
 Do Until EOF(1)
 Line Input #1, Rdata
 DataCnt = DataCnt + 1
 Loop
 Close #1
 列数 = 15   '←ここのフィールド数を変えてください。
 'マクロでカンマ数を数えても良いんだけど、
 '実際のデータを見ていないので...。
 ReDim Preserve Tbl(1 To DataCnt, 1 To 1)
 Open FileOpen For Input As #1
 Do Until EOF(1)
 For I = 1 To 列数
 Input #1, Rdata
 If I = 6 Then   '6列目
 CNT = CNT + 1
 Tbl(CNT, 1) = Rdata
 End If
 Next
 Loop
 Close #1
 Range("A1:A" & DataCnt).Value = Tbl
 Erase Tbl
 End Sub
 
 ノーマル
 Sub hui2()
 Dim Tbl() As Variant
 FileOpen = Application.GetOpenFilename("Excelファイル (*.csv;*.txt), *.csv;*.txt")
 If FileOpen <> False Then
 Open FileOpen For Input As #1
 Else
 End
 End If
 Do Until EOF(1)
 Line Input #1, Rdata
 DataCnt = DataCnt + 1
 Loop
 Close #1
 列数 = 15   '←ここのフィールド数を変えてください。
 'マクロでカンマ数を数えても良いんだけど、
 '実際のデータを見ていないので...。
 ReDim Preserve Tbl(1 To DataCnt, 1 To 1)
 Open FileOpen For Input As #1
 Do Until EOF(1)
 For I = 1 To 列数
 Input #1, Rdata
 If I = 6 Then   '6列目
 CNT = CNT + 1
 Range("A" & CNT).Value = Rdata
 End If
 Next
 Loop
 Close #1
 End Sub
 
 |  |