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!...
ノンプログラマーがプログラミングを学ぶ理由

ノンプログラマーがプログラミングを使えるようになると、「仕事の幅」が広がります。

日常生活にたとえると「車の運転」のイメージです。

多くの人は、大人になると自動車教習所に通って、運転の練習をしますね。F1レーサーやタクシードライバーなどの「プロ」になるわけではないのに。

車の運転ができれば、遠いところへ、速く・ラクに移動できて「生活の幅」が広がるからです。

プログラミングができるようになれば、今の仕事を速く・ラクに片づけて、「仕事の幅」を広げることができます。

「プロ」を目指す必要はありません。今の仕事をより豊かにするための「手段」、それがプログラミングです。

1週間のオンライン無料体験
いつでもどこでも今すぐ視聴OK