CSVデータをワークシートに読み込む(OpenTextを使う場合)
UTF-8・カンマ区切りのCSVを開き、新しいブックのワークシートへ読み込みます。
実行前に確認
- 列型は既定の自動判定です。001が1へ変わったり、日付や数式と解釈されたりする可能性があります。文字列の厳密な保持が必要なら全列xlTextFormatを指定するQueryTablesの例を使ってください。
- 開いただけでは別のExcelファイルとして保存されません。元CSVへ上書きせず、必要なら別名で.xlsx保存します。
1サンプルコード
Sub OpenTextでCSVを読み込む()
Workbooks.OpenText Filename:="C:\Data\sample.csv", _
Origin:=65001, DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False
End Sub図で見るファイルの変化
イメージ図概念図:CSVを新しいブックのシートへ展開します。
読み込み元
C:\Data\sample.csv UTF-8・カンマ区切り
マクロ:解析
UTF-8で開き、引用符を考慮してカンマで列分割
読み込み後
新しいブックのシートにデータが入り、そのブックを表示
マクロ格納ブックのSheet1には入りません。列型は自動判定で、001等が変わる場合があります。別のExcelファイルへの保存は行いません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 2
信頼できるUTF-8のCSVを用意し、Filenameのパスを変更します。
- 3
実行するSubの内側にカーソルを置き、F5キーを押します。
- 4
実行後は新しいブックがアクティブになります。マクロを置いたブックのSheet1へ読み込む処理ではありません。