大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、CSVファイルをExcelブックに変換するには、CSVファイルを開いて、「SaveAs」を使って名前を付けて保存するとできます。変換したいCSVが大量になってくると大変なので、Excel VBAを使って自動化していきましょう。

はじめに

この記事では、CSVファイルをExcelに変換する方法について、ご紹介します。

CSVファイルを開いて、「SaveAs」を使って「.xlsx」形式で名前を付けて保存するとできます。

「Excelブック」に変換すると、CSVファイルのままだとできない、罫線や色付け、関数の挿入などができるようになりますので、便利です。

変換したいCSVファイルが複数あると、手作業でやっていると大変なので、VBAを使って自動化していきましょう。

では、CSVファイルをExcelに変換する方法について、解説していきます。

この記事を読むメリット

  • CSVをExcelブックに変換する方法を自動化することができます。

目次から見たい項目へ移動すると便利ですよ。

目次

CSVをExcelブックに変換

CSVをExcelブックに変換してみます。

CSVを開いてSaveAsで名前を付けて保存する

手順としては、次のようになります。

  • 「Workbooks.Open」でCSVを開く
  • 「SaveAs」で「.xlsx」形式で名前を付けて保存
  • ブックを閉じる

という流れになります。

VBAコードは、次のようになります。

Sub TEST1()
  
  'CSVを開く
  Workbooks.Open ThisWorkbook.Path & "\TEST\TEST1.csv"
  '「xlsx」形式で保存
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\TEST1.xlsx", xlOpenXMLWorkbook
  ActiveWorkbook.Close 'ブックを閉じる
  
End Sub

やりたい内容は、CSVをExcelブックに変換したい、ということになります。

CSVをExcelブックに変換したい

CSVをExcelブックに変換したいです。

CSVをExcelブックに変換したいです

変換するCSVファイルです。

変換するCSVファイルです

実行すると、Excelブックに変換することができます。

Excelブックに変換

Excelブックに変換できました

Excelブックの中身を確認してみます。

Excelブックの中身を確認

CSVデータを、Excelブックに変換できました

CSVデータを、Excelブックに変換できています。

複数CSVファイルをExcelブックに変換

次は、「複数」のCSVファイルをExcelブックに変換する、というのをやってみます。

複数CSVファイルをExcelブックに変換したい

やりたい内容は、複数CSVファイルをExcelブックに変換したい、ということになります。

複数のCSVをExcelに変換したい

複数CSVをExcelブックに変換したいです

変換するCSVファイルは、次のようになっています。

変換するCSVファイル

1つ目のCSVファイルです。

変換するCSVファイルです

2つ目のCSVファイルです。

変換するCSVファイルです

3つ目のCSVファイルです。

変換するCSVファイルです

では、複数CSVファイルを、Excelブックに変換してみます。

Dir関数を使って1つのCSVをExcelに変換

複数のCSVファイルをExcelブックに変換するには、「Dir関数」を使います。

まずは、フォルダ内の1つのCSVファイルを、Excelブックに変換してみます。

手順としては、

  • フォルダ内の1つのCSVファイル名をDir関数で取得
  • 取得したCSVを開く
  • 「.xlsx」形式で名前を付けて保存する
  • ブックを閉じる

という流れになります。

Sub TEST2()
  
  Dim A
  'フォルダ内のCSVファイルを1つ取得
  A = Dir(ThisWorkbook.Path & "\TEST\*.csv")
  
  'CSVファイルを開く
  Workbooks.Open ThisWorkbook.Path & "\TEST\" & A
  '「.xlsx」形式で保存
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\" & Replace(A, ".csv", ".xlsx"), xlOpenXMLWorkbook
  ActiveWorkbook.Close 'ブックを閉じる
  
End Sub

実行すると、フォルダ内の1つのCSVを、Excelブックに変換できます。

1つのCSVをExcelブックに変換

フォルダ内の1つのCSVを、Excelブックに変換できました

Excelブックの中身を確認してみます。

Excelブックの中身を確認

1つのCSVをExcelに変換できています

1つのCSVを、Excelブックに変換できています。

Dir関数をループして複数CSVをExcelに変換

次は、Dir関数をループして、複数CSVをExcelに変換してみます。

フォルダ内のすべてCSVファイル名を取得するには、「Dir関数」をループすることで取得することができます。

Sub TEST3()
  
  Dim A
  'フォルダ内のCSVファイルを1つ取得
  A = Dir(ThisWorkbook.Path & "\TEST\*.csv")
  
  'フォルダ内のブックをループ
  Do While A <> ""
    'CSVファイルを開く
    Workbooks.Open ThisWorkbook.Path & "\TEST\" & A
    '「.xlsx」形式で保存
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\" & Replace(A, ".csv", ".xlsx"), xlOpenXMLWorkbook
    ActiveWorkbook.Close 'ブックを閉じる
    A = Dir() '次のCSVファイル名を取得
  Loop
  
End Sub

実行すると、複数CSVを、Excelブックに変換できます。

複数CSVをExcelブックに変換できた

複数CSVを、Excelブックに変換できます

Excelブックの中身を確認してみます。

Excelブックの中身を確認

Excelブックに変換した1つ目のブックです。

Excelブックに変換した1つ目のブックです

Excelブックに変換した2つ目のブックです。

Excelブックに変換した2つ目のブックです

Excelブックに変換した3つ目のブックです。

Excelブックに変換した3つ目のブックです

こんな感じで複数CSVファイルを、Excelブックに変換できます。

おわりに

この記事では、CSVファイルをExcelに変換する方法について、ご紹介しました。

CSVファイルを開いて、「SaveAs」を使って「.xlsx」形式で名前を付けて保存するとできます。

「Excelブック」に変換すると、CSVファイルのままだとできない、罫線や色付け、関数の挿入などができるようになりますので、便利です。

変換したいCSVファイルが複数あると、手作業でやっていると大変なので、VBAを使って自動化していきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す