UTF-8のCSVファイルを高速に読み込んでシートに出力する方法を紹介します。QueryTableを利用することで、テキストファイルとして読み込むより高速に出力が可能です。
QueryTable で解決する
QueryTableは、SQL serverやMicrosoft Accessなど、外部データソースから取得するデータを操作する際に使用するオブジェクトです。今回は「外部データソース=CSVファイル」としてQueryTableオブジェクトを利用します。
サンプルプログラムを確認する(コピペOK)
Sub sample()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim qtbl As QueryTable
Set qtbl = ws.QueryTables.Add(Connection:="TEXT;C:\test.csv", Destination:=ws.Range("A1")) ' CSV を開く
With qtbl
.TextFilePlatform = 65001 ' 文字コード(UTF-8)を指定
.TextFileCommaDelimiter = True ' 区切りはカンマ
.RefreshStyle = xlOverwriteCells ' 上書き
.Refresh ' 表示する
.Delete ' CSVとの接続を解除
End With
End Sub