| 
    
     |  | 早速のお返事ありがとうございます(^^) 
 私の知識不足なんですが・・・、Jakaさんから頂いた処理をお聞きしたいのですが、
 Rdataに必要である列の値が入力され、配列に格納されると認識していいのでしょうか?
 実際、必要な列数を入力したところ、必要なデータがRdataに格納されませんでした。
 例ですが、タブ区切りのテキストにて、1READに80項目データがあったとして、
 必要な項目(列)15,16,42と不規則な部分の項目(列)が必要であるとしたら
 
 列数 = 80
 
 For I = 1 To 列数
 Input #1, Rdata
 If I = 15 or 16 or 42 Then   '15,16,42列目
 CNT = CNT + 1
 Tbl(CNT, 1) = Rdata
 Tbl2(CNT, 1) = Rdata
 Tbl3(CNT, 1) = Rdata
 
 End If
 Next
 
 と感じでいいんでしょうか?
 どうもRdataに入る値が違うような・・・
 すいません!知識不足で!もしかしたらタブ区切りとかですとダメだったりしますか???
 お願いします!
 
 >配列使用
 >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
 
 |  |