Excel VBAでCSVファイルを自動で開いて整形する方法

CSVファイル(カンマ区切りファイル)は、多くのシステムやWebサービスとのデータ受け渡しに使用される一般的な形式です。本記事では、VBAを使ってCSVファイルをExcelで自動的に開き、列幅を整えるマクロの作成方法をご紹介いたします。

目次

シナリオの概要

  • Excelファイルと同じフォルダに「data.csv」というCSVファイルがあると想定します。
  • マクロを実行すると、そのCSVファイルがExcelに読み込まれ、すべての列の幅が自動的に調整されます。

VBAコード:CSVファイルを開いて列幅を自動調整

Sub OpenAndFormatCSV()
    Dim csvPath As String
    csvPath = ThisWorkbook.Path & "\data.csv"
    
    Workbooks.OpenText _
        Filename:=csvPath, _
        DataType:=xlDelimited, _
        Comma:=True

    ActiveSheet.Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub

解説

  • ThisWorkbook.Path は、現在のマクロブックが保存されているフォルダのパスを取得します。
  • Workbooks.OpenText メソッドを使用することで、CSVファイルをExcelにインポートできます。
  • DataType:=xlDelimitedComma:=True により、カンマ区切りとして正しく読み込まれます。
  • 最後に、読み込んだシートの全列幅を AutoFit メソッドで自動調整しています。

応用例

  • Semicolon:=True を追加すれば、セミコロン区切りのCSVにも対応可能です。
  • 読み込み後にフォーマット(フォント、色、罫線など)を適用する処理を追加することで、レポート形式に整形することも可能です。

注意点

  • CSVファイルの文字コードがShift-JIS以外(例:UTF-8)である場合、文字化けすることがあります。
  • Workbooks.OpenText は新しいウィンドウでファイルを開くため、保存や閉じる処理を追加する場合は注意が必要です。

まとめ

本記事でご紹介した方法を使えば、CSVファイルを手間なくExcelで開き、すぐに作業可能な状態に整えることができます。日々の業務における定型作業の効率化に、ぜひお役立てください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次