|
▼初VBA さん:
> 1.は読込できましたが、複数のCSV読込がわかりません?
ほぼ出来ているようにも見えますが
一応、コードを追加してみました(一部改)
(テストはしてません。ごめんなさい)
Sub test()
Dim csvFile As String
Dim ch As Integer
Dim csvStr As String
Dim str() As String
Dim i As Integer
Dim myLooP As Long '追加
Dim myDATA(1 To 24, 1 To 70) As String '変数に格納するデータ用
csvFile = "C:\DataF\TEST.csv" '今は固定
'空いている番号を取得
ch = FreeFile
Open csvFile For Input As #ch
i = 8
Do While Not EOF(ch)
Line Input #ch, csvStr
'カンマ区切りで配列に格納
str = Split(csvStr, ",")
'セルのレンジを指定して、配列の値をセット長くなるので途中で区切ってる。
' With Worksheets("Sheet1")
' .Cells(i, 1).Value = str(1)
' .Cells(i, 2).Value = str(2)
' .Cells(i, 3).Value = str(3)
' End With
' With Worksheets("Sheet2")
' .Cells(i, 1).Value = str(11)
' .Cells(i, 2).Value = str(12)
' .Cells(i, 3).Value = str(13)
' End With
'ちょっと改良?
For myLooP = 1 To 30
Worksheets("Sheet1").Cells(i, myLooP) = str(myLooP - 1)
Worksheets("Sheet2").Cells(i, myLooP) = str(myLooP + 29)
If myLooP <= 10 Then
Worksheets("Sheet3").Cells(i, myLooP) = str(myLooP + 59)
End If
Next myLooP
i = i + 1
Loop
'ファイルクローズ
Close #ch
'==== 3番目のファイルを取込) =====
csvFile = "C:\DATA\A20090219.DD.csv"
'空いている番号を取得
ch = FreeFile
Open csvFile For Input As #ch
'i = 8 ’上の続きなので設定不要
Do While Not EOF(ch)
'〜上と同じ処理〜
Loop
'ファイルクローズ
Close #ch
'==== 2番目のファイルを取込) =====
csvFile = "C:\DATA\A20090219.CC.csv"
'空いている番号を取得
ch = FreeFile
Open csvFile For Input As #ch
i = 1
Do While Not EOF(ch)
Line Input #ch, csvStr
If i <= 24 Then '一応
'カンマ区切りで配列に格納
str = Split(csvStr, ",")
For myLooP = 1 To 70
myDATA(i, myLooP) = str(myLooP - 1)
Next myLooP
End If
i = i + 1
Loop
'ファイルクローズ
Close #ch
End Sub
|
|