VBA

【ExcelVBA】エクセルブックの全シートからCSV(テキスト)ファイルを一括出力する

ねぇもりさん、Excelブックの各シートをCSV(TXT)ファイルにしたいんだ。

なにかラクな方法ないかなぁ?

もり
もり
それなら、マクロでまとめてファイル作成するツールを作っちゃおう

Excelブック内の全シートを、シート毎に「CSVファイル」or「テキストファイル」にして保存するマクロを紹介します。

(例)ブック内に5シートある場合、5つのCSVファイルが作成されます。

allcsvtxt1

ExcelブックからCSVファイルを作成する

まずはCSVファイルを作成するマクロの紹介です。テキスト(TXT)ファイルを作成したい方は、次の項へ進んでください。

下記のコードを標準モジュールに貼り付けて使用してください。

マクロの使い方

マクロを実行すると「ファイルを開く」ダイアログが出現します。

  1. CSVの元になるExcelブックを選択する
  2. 「開く」を押す

処理が終了するとメッセージがでます。

これで、Excelブックと同じフォルダ階層にCSVファイルが出力されています。

Excelブックからテキストファイルを作成する

上記のコードを少し変えるだけで、テキストファイルになります!22~23行目を書き換えます。

①拡張子
.csv → .txt

②ファイルフォーマット
xlCSV → xlText

 

これで「タブ区切りのテキストファイル」を作成できます。

 

元データと同じブックにマクロを含ませる

今回の記事で紹介したのは、CSV(TXT)ファイルを作成するための「独立したツール」です。

1度ツールを作っておけば、様々な場面で使いまわしができるので便利ですね。

 

一方、元データのブックに直接マクロを含ませる方法もあります。

こちらの記事もぜひご覧ください。

【ExcelVBA】ブック内のシートをタブ区切りのテキスト形式で保存するExcelブック内のアクティブシートからタブ区切りのテキストファイルを作成するマクロの紹介です。ボタンをワンクリックするだけでラクラクOK!...