← コード一覧へ戻る
実務CSV

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を新しいブックのシートへ展開します。

  1. 読み込み元

    C:\Data\sample.csv UTF-8・カンマ区切り

  2. マクロ:解析

    UTF-8で開き、引用符を考慮してカンマで列分割

  3. 読み込み後

    新しいブックのシートにデータが入り、そのブックを表示

マクロ格納ブックのSheet1には入りません。列型は自動判定で、001等が変わる場合があります。別のExcelファイルへの保存は行いません。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。

  2. 2

    信頼できるUTF-8のCSVを用意し、Filenameのパスを変更します。

  3. 3

    実行するSubの内側にカーソルを置き、F5キーを押します。

  4. 4

    実行後は新しいブックがアクティブになります。マクロを置いたブックのSheet1へ読み込む処理ではありません。

使っている機能の公式ドキュメント(Microsoft Learn)