dポイントプレゼントキャンペーン実施中!

こんにちは。データベースを作ることになったのですが、もともとあったデータを取り込みたいと思っています。
元のデータは、ウィンドウズのメモ帳に保存されており、下記のようになっています。

ID:00000
名前:** **
電話:00-0000-0000
住所:
*********
****** 00-00
-------------
備考
************
*********
***************
------------

というように一人ずつファイルがあります。
これを

ID/名前/電話/住所/住所2/備考

という感じのテーブルに変換してデータベース化したいと思っています。
VBA等を使ってこのようなCSVファイルする方法はあるでしょうか?
出来れば、連続・一度に出来ると嬉しいです。

A 回答 (2件)

VBAが出来る者には簡単です。

結論だけで良いならこうなります。
ただし、テキストファイルを読む、書くは、エクセルVBAの固有のことではないが、昔はテキストファイルしかなく、旧Basic時代は、こういうところからデータの処理が広がったのです。
VBAの解説書なども多数ページの本では例題があるでしょう。
Googleででも
テキストファイルを読む
テキストファイルを書く
テキストファイルを変数する(望みの文字列を元ファイルから作る。CSVファイルはその項目の間をカンマで区切るのが特徴。)
を照会したらコードが載っている。
全くの素人には難しいかも。そうすると丸投げで作って暮れになる。
ーー
しかし説明がデータ情況が十分でなく
>一人ずつファイルがあります。
ID:00000
名前:** **
電話:00-0000-0000
・・
は同一レコードの(質問表現上の)改行なのか、見た目の各行が別レコードか(たぶん後者か)が質問者は判ってないと思うので、情況がわかりにくい。
後者なら
名前のレコードが出るごとに次の名前が出現するまでを1人分と考えて、
 名前 電話 住所 住所2 備考の順序にカンマを挟んで1つのアウトプット用の文字列を作っていく。
(質問には/で区切るのでなく、名前,電話,住所,住所2,,備考と書くべきだろう)
次の名前が出たとき、作ってある文字列をアウトプットする。
注意として、空白の項目があっても、「,,」は入れる必要がある。
その後今のレコードのでーたで、また次の1人分を作り始める。
レコードが終わったら、最後の人の分として、作ってある文字列をアウトプットし、ファィルをクローズする。
アウトプットファイルは、インプットファイルとは別のファイルになります。
    • good
    • 0

エクセルでマクロを作ればできると思います。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!