|
おはようございます。
配列を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
|
|