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:=xlDelimitedとComma:=Trueにより、カンマ区切りとして正しく読み込まれます。- 最後に、読み込んだシートの全列幅を
AutoFitメソッドで自動調整しています。
応用例
Semicolon:=Trueを追加すれば、セミコロン区切りのCSVにも対応可能です。- 読み込み後にフォーマット(フォント、色、罫線など)を適用する処理を追加することで、レポート形式に整形することも可能です。
注意点
- CSVファイルの文字コードがShift-JIS以外(例:UTF-8)である場合、文字化けすることがあります。
Workbooks.OpenTextは新しいウィンドウでファイルを開くため、保存や閉じる処理を追加する場合は注意が必要です。
まとめ
本記事でご紹介した方法を使えば、CSVファイルを手間なくExcelで開き、すぐに作業可能な状態に整えることができます。日々の業務における定型作業の効率化に、ぜひお役立てください。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
