【VBA】配列データをテキストファイルに表形式で出力する方法!

f:id:yshgs_elec:20210109201756j:plain

「VBA上で作成した配列データをテキストファイルに出力したい。」

この記事では、こんな悩みを解決します。

 

具体的には、以下の画像に示すように、

①VBA上で配列を作成⇒データ代入

②配列の表形式を維持してテキストファイルに出力する

配列データをテキスト出力するという作業イメージ図

ということをやっていきたいと思います。

 

記事中で紹介するVBAコードをあなたの状況に合わせて微修正するだけです。

ぜひ最後までご覧ください。

 

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

スポンサーリンク

配列を作成する方法

配列をテキストファイルに出力するには、まず配列がなければ始まりません。

 

今回はVBA上で以下のように配列を作成することにします。

◆配列作成コード

Dim list_sample(1, 2) As Variant
list_sample(0, 0) = "国語"
list_sample(0, 1) = "算数"
list_sample(0, 2) = "理科"
list_sample(1, 0) = 92
list_sample(1, 1) = 85
list_sample(1, 2) = 95

配列の作成方法についてもう少し、詳しく知りたい方は以下の記事を参考にしてください。

【エクセルVBA】一つの変数に複数データを代入!配列の概念を詳細解説! – ヒガサラblog

 

スポンサーリンク

配列をテキストに出力する方法

次に先ほど作成した配列をテキストに出力するコードをご紹介します。

◆テキストファイルの出力コード

Dim i As Integer, j As Integer
Open ThisWorkbook.Path & "\output1.txt" For Output As #1
For i = 0 To UBound(list_sample, 1)
    For j = 0 To UBound(list_sample, 2) - 1
        Print #1, list_sample(i, j) & amp; vbTab;
    Next
    Print #1, list_sample(i, j)
Next
Close #1

このコードでは、マクロを実行するエクセルファイルと同じ保存場所にoutput1.txtというテキストファイルを作成し、そのテキストファイル内に配列内のデータを出力していっています。

 

もし、別の場所にテキストファイルを保存したい場合はOpen ThiesWorkbook・・・の部分をあなたの状況に応じて適宜変更してください。

 

また配列も上で作成したlist_sampleという名前になっていますので、ここもあなたの作成する配列名に変更してください。

スポンサーリンク

最終的な完成形

というわけで配列作成&配列データをテキストファイルに出力する方法を、それぞれご紹介しました。

 

最後に、これらをくっつけたVBAコードの最終形をご紹介しておきます。

◆配列作成⇒表形式でテキスト出力するVBAコード

Sub list_output()
    '配列の作成⇒データ代入
    Dim list_sample(1, 2) As Variant
    list_sample(0, 0) = "国語"
    list_sample(0, 1) = "算数"
    list_sample(0, 2) = "理科"
    list_sample(1, 0) = 92
    list_sample(1, 1) = 85
    list_sample(1, 2) = 95
    '配列のテキスト出力
    Dim i As Integer, j As Integer
    Open ThisWorkbook.Path & "\output1.txt" For Output As #1
    For i = 0 To UBound(list_sample, 1)
        For j = 0 To UBound(list_sample, 2) - 1
            Print #1, list_sample(i, j) & amp; vbTab;
        Next
        Print #1, list_sample(i, j)
    Next
    Close #1
End Sub

 

念のためこのコードを実行してみましょう。

実行すると、このコードを記述している場所と同じフォルダ内に以下のようなテキストファイルが出力されていました。

f:id:yshgs_elec:20210204163225j:plain

問題なく出力されていますね。

 

今回は配列をテキスト出力する方法についての解説でしたが、エクセルシート上のデータも似たようなことをやれば出力可能です。

 

その方法は以下の記事でご紹介していますので、こちらもぜひご覧ください。

【VBA】セルデータをテキストに!表形式での出力演習! – ヒガサラblog

 

スポンサーリンク

おわりに

というわけで今回はVBA上で作成した配列をテキストファイルに表形式で出力する方法についてご紹介しました。

 

これができれば、データ集計⇒テキスト保存という業務上よくありそうな一連の流れを実行できるようになるはずです。

ぜひやり方をマスターしておきましょう!

 

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

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

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

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

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

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

↓ 応援ボタン

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

それではまた!

コメント

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