2つのデータを組み合わせてテキストファイルを作成するには?

Question 48.2   Previous Next
質問ですが 異なるデータを混在させてテキストに変換することって可能なのでしょうか?
例えば 3桁の5列データベースの間に8桁のデータを1行挿入し、テキストファイルへの変換をしたいのですが…。
最終的にこうなる
123 456 789 012 345
12345678
456 789 012 345 678
データはそれぞれ独立したシートに入れてあります。
始めたばかりですので 可能か否かもわかりません 宜しくお願い致します。
Answer   Copyright (C) 2001.8.1 永井善王
少々答えにくい質問ですが、「はじめたばかり」ということですので、「異なるデータは、それぞれ独立したシートに入れてある」を再現してみます。

  【A】 3桁の5列データベース           【B】 8桁のデータ
Sheet1 Sheet2
【A】のシートのC2セルと D1セルのデータが、012 と前ゼロが付いているので、Sheet1とSheet2のすべてのデータのセルの書式設定を[表示形式:文字列]にしました。
質問文だけでは【A】と【B】のシートのデータが、この3行だけなのか、もっと沢山あるのかが、わかりません。【A】と【B】のシートのデータを組み合わせて【C】のシートを作ることになるのかと思いますが、その作り方を質問されている訳ではないでしょうから、次へ進みます。

  【C】3桁の5列データベースの間に8桁のデータを1行挿入
Sheet1 この【C】のシートを新規ブックに作成しておけば、Excelの[ファイル]メニュー[名前を付けて保存]で[ファイルの種類]に「テキスト(タブ区切り)(*,txt)」を選択して[保存]ボタンをクリックするだけで、テキストファイルを作成することができます。この操作はマクロに自動記録することも可能です。

Sheet1 でき上がったテキストファイルをメモ帳で開くと右図のようになります。タブで区切られて 5項目(フィールド)あるのが分かりますね。

ひょっとして、質問文で「最終的にこうなる」と例示されたサンプルが、1件(レコード)目は5項目であるが、2件目は1項目だけでないといけないという意味ならば、上記の方法ではできません。これで作成したテキストファイルは、どのレコードも同じフィールド数になります。

いずれにせよ、作成したテキストファイルをどのように利用するのかなど、もう少し要件をはっきりさせて、できる部分から組まれるととよいかと思います。

 

Excel VBA Macro