VBA

【ExcelVBA】ブック内のシートをタブ区切りのテキスト形式で保存する

ねぇもりさん、Excelのデータをタブ区切りのテキストファイルにしたいんだよね
もり
もり
「名前を付けて保存」でファイルの種類を「テキスト」にする作業のことかな?
csvtxt1
そうそう、この作業。ポチポチするのめんどうくさいよね
もり
もり
よーし!じゃあマクロを作っちゃおう!

Excelブック内の「アクティブシート」を「タブ区切りのテキストファイル」で出力するマクロの紹介です。

ExcelVBAでタブ区切りのテキストファイルを作る

アクティブシートからテキストファイルを作る

「アクティブシート」とは、選択されている(最前面に表示されている)シートのことです。

下記のコードを標準モジュールに貼り付けて実行します。

  • テキスト化されるシート:アクティブシート
  • 出力先:Excelブックと同じパス

このマクロを実行すると、Excelブックと同じフォルダにテキストファイルが出力されます。

「data」シートから data.txt ができあがります。

【ポイント】作成対象のシートを新規ブックにコピーする

この処理、シートをわざわざ新規ブックにコピーしてるよね。

なんでシートを直接テキスト形式で保存してないの?

下記の3ステップでテキストファイルを作成しています。

  1. アクティブシートを空の新規ブック(Book1)にコピー
  2. 新規ブック(Book1)をテキスト形式で保存
  3. 新規ブック(Book1)を破棄(保存しないで閉じる)

 

Excelブックのシートを「名前を付けて保存」でテキスト形式で保存すると、元のExcelのファイル名がtxt形式になってしまうんです。

csvtxt5
もり
もり
Application.ScreenUpdating = False で画面更新を止めてるから、見た目では気づかないね!

ブック内の全シートをテキストファイルにする

こちらの記事で紹介しています!あわせてご覧ください!

【ExcelVBA】エクセルブックの全シートからCSV(テキスト)ファイルを一括出力するExcelブックのシートからCSVファイル・タブ区切りのテキストファイルを一括作成するマクロツールを紹介しています。...
2020年・小学校でプログラミング教育が必修化

2020年、いよいよ小学校でプログラミング授業が始まります。続く2021年からは「中学校」で開始。2022年からは「高校」でも導入されます。

あと何年かしたら、あたりまえにプログラミングを使いこなす新入社員が入ってくるかもしれません。2020年、大人も一緒に学んでみませんか?

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