【VBA】複数シートを別々のcsvファイルとして一括出力する方法!

f:id:yshgs_elec:20210211194616j:plain

この記事では、複数のエクセルシートに記入されているデータを、別々のcsvファイルとして一括出力する方法をご紹介していきます。

 

エクセル集計した大量のデータを、ほかのアプリケーションで読み込ませたいときなどに役に立つはずです。

 

それでは早速やっていきます!

 

スポンサーリンク

紹介するスキルの概要説明

まずはじめに今回の記事で紹介する作業内容を簡単にご説明しておきます。

 

まず、以下の画像のようにあるデータがエクセルシート上に記入されており、

csvファイル化するサンプルエクセルシートの紹介

このデータと同じようなデータが、3つのシートにそれぞれ記入されている状態です。

csvファイル化するサンプルエクセルシートの紹介

今回はこの3つのシートに記入されているデータを、それぞれ別のcsvファイルとして保存していく作業をVBAにやらせてみたいと思います。

※出力するcsvファイルのファイル名はそれぞれのシート名にすることとします。

⇒data1.csv, data2.csv, data3.csv

スポンサーリンク

複数シートをcsvファイルとして一括出力するマクロ

紹介するスキルの概要がわかったところで、早速VBAコードを書いていきましょう!

 

以下が先ほど紹介した作業を自動実行してくれるVBAコードです。

◆複数シートをcsv化するVBAコード

Sub make_csv2()
    '変数の型を宣言
    Dim new_file As Variant
    '3つのシートに対して繰り返し処理
    For i = 1 To 3
        Sheets(i).Activate
        'シート名を記憶させる(csvファイル名で使う)
        new_file = ActiveSheet.Name
        'csvファイルとして保存する
        ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & new_file & ".csv", _
        FileFormat:=xlCSV, CreateBackup:=False
    Next
    ActiveWorkbook.Close
End Sub

コード内の要所要所に、コメントをつけておりますので、だいたい何をやっているか理解できるはずです。

 

基本的には以下の記事のひとつのシートをcsv化する作業を各シートに対して行っているだけです。

【VBA】エクセルシートのデータをcsvファイルとして自動保存する方法!

⇒csv化する作業をもう少し簡単な状況で確認したい方は合わせてご確認ください。

 

スポンサーリンク

サンプルコードの実行結果

最後に先ほど紹介したVBAコードを実行するとどうなるのかを確認してみましょう。

 

実行する前は以下の画像のように、マクロファイルだけが保存されている状態です。

マクロ実行前のフォルダの中身確認

このファイルを開く⇒開発タブ⇒マクロ⇒先ほどのコードを選択⇒実行してみます。

実行すると以下の画像のように何もないエクセル画面が表示されるはずです。

マクロ実行後のエクセル画面

形式上あえてこうしているだけですので、この画面は閉じてもらってOKです。

 

実行後に先ほど紹介したマクロが置いてあったフォルダを確認してみましょう。

マクロ実行後のフォルダの中身確認

以下のように新たに3つのcsvファイルが出力されていますね。

このファイルたちの中身を見てみましょう。

できあがったcsvファイルの中身確認

それぞれのcsvファイルの中にもとのマクロファイルに記入されていたデータがしっかりと記入されていますね。

 

というわけで、さきほど紹介したコードで、複数シートを一括でcsv化できることがしっかりと確認できました。

 

スポンサーリンク

おわりに

というわけで今回は複数のシートに記入されたデータをそれぞれ別のcsvファイルとして出力する方法をご紹介しました。

大量のデータを整理する際にぜひご活用ください。

 

このように私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

・日々の残業時間を減らしたい。

・業務をもっと効率的にこなしたい。

・もっと勉強する時間を作りたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてください。

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました