
CSVファイルからデータを取得してシートに表示するマクロです。
まず、CSVファイルにこのようなデータが格納されていたとします。
1 2 3 4 5 6 7 8 | ID,EmployeeNumber,FirstName,LastName 1,10001,久江,丸山 2,10002,正義,梅田 3,10003,智子,篠原 4,10004,貞行,角田 5,10005,俊郎,松井 6,10006,健三,米田 7,10007,リサ,小田 |
このデータを次のシートに格納してみます。

1行目には列名をあらかじめ入力しています。
では、実際のコードは次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | Sub GetCsvData() Dim cnn As New ADODB.Connection Dim cmd As ADODB.Command Dim rst As ADODB.Recordset Dim i As Integer cnn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=C:\work\Excel;ReadOnly=0" Set cmd = New ADODB.Command With cmd .ActiveConnection = cnn .CommandText = "SELECT ID, EmployeeNumber, FirstName, LastName FROM T_Users.csv" .CommandType = adCmdText End With 'SQLを実行 Set rst = cmd.Execute i = 2 While rst.EOF = False 'セルにデータを格納 Cells(i, 1).Value = rst!ID Cells(i, 2).Value = rst!EmployeeNumber Cells(i, 3).Value = rst!FirstName Cells(i, 4).Value = rst!LastName 'レコードを移動 rst.MoveNext i = i + 1 Wend rst.Close Set rst = Nothing Set cmd = Nothing cnn.Close Set cnn = Nothing End Sub |
実行結果

スポンサーリンク