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ファイル・タブ区切りのテキストファイルを一括作成するマクロツールを紹介しています。...
【100万人以上が使う】タスク管理・プロジェクト管理ツール「Backlog」の新規無料トライアル

「Backlog」は日本製のタスク管理・プロジェクト管理ツールです。

国内利用者は100万人を超え、エンジニア・デザイナー以外にも、営業・人事・経理など、幅広い職種で大人気!

日本製なので、親しみやすく直感的に使えるのがポイントです。

タスク管理・プロジェクト管理にかかせない主な機能がこちら。

  • 課題(タスク)の作成
  • ファイル共有
  • wiki
  • ガントチャート
  • カンバンボード
  • テンプレート機能

法人・個人問わず利用できるので、効率的にタスク管理したいフリーランスの方にもオススメですよ!