|
早速のお返事ありがとうございます(^^)
私の知識不足なんですが・・・、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
|
|