Option Explicit
Sub sample()
'読み込むCSVファイル
Const CSV_FILE As String = "C:\Users\user\Desktop\sample.csv"
'CSVファイルを読み込むシート名
Const CSV_SHEET_NAME As String = "csv"
Dim sheet As Worksheet
Dim csvSheet As Worksheet
'既にシート「csv」が存在する場合は削除
For Each sheet In ThisWorkbook.Worksheets
If sheet.Name = CSV_SHEET_NAME Then
'確認メッセージを非表示
Application.DisplayAlerts = False
'シート削除
Worksheets(CSV_SHEET_NAME).Delete
'確認メッセージを表示
Application.DisplayAlerts = True
End If
Next
'シート「csv」を新規作成
Set csvSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
csvSheet.Name = CSV_SHEET_NAME
'「QueryTableオブジェクト(=クエリと接続)」を作成
With csvSheet.QueryTables.Add(Connection:="TEXT;" + CSV_FILE, _
Destination:=Range("B2"))
'区切り文字に「カンマ区切り」を指定
.TextFileCommaDelimiter = True
'文字コードに「UTF-8」を指定
.TextFilePlatform = 65001
'読み込み開始行を指定
.TextFileStartRow = 1
'読み込むファイルの1~3列目の形式に「文字列」を指定
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat)
'読み込み実行
.Refresh BackgroundQuery:=False
'作成された「QueryTableオブジェクト(=クエリと接続)」を削除
.Delete
End With
End Sub