|
こんにちは。かみちゃん です。
>※csvファイルは,1行で構成されている(内容も同じ順)
>※最終的には,全csvを1シートにしたい
Dir関数で特定のフォルダのすべてのCSVファイルを取得する。
Openステートメントで、テキストモードで開く
1行だけ読み込む
セルに書き込む
このような手順になるかと思います。
これらは、次のようにすればできると思います。
ひとつひとつのコードは、ヘルプ等でまずは調べるようにしてください。
Option Explicit
Sub Macro1()
Dim MyPath As String
Dim MyName As String
Dim OpenFileName As String
Dim n As Long
Dim buf As Variant
Dim tmp As String
Dim RowNo As Long
MyPath = ThisWorkbook.Path ' CSVのフォルダ名の指定
MyName = Dir(MyPath & "\*.csv") 'CSVファイルすべて
RowNo = 1
Do While MyName <> "" ' ループを開始します。
'元のCSVファイル名のフルパス
OpenFileName = MyPath & "\" & MyName
'変更したファイルをテキストモードで開く
n = FreeFile
Open OpenFileName For Input As #n
'最初の1行を読み込む
Line Input #n, tmp
Close #n
'カンマごとに区切る
buf = Split(tmp, ",")
'Ax:Dx(xは行番号)セルに書き込む
Range("A" & RowNo & ":D" & RowNo) = buf
'行番号をカウントアップ
RowNo = RowNo + 1
'次のファイルを探す
MyName = Dir
Loop
MsgBox "終了"
End Sub
|
|