プロが教えるわが家の防犯対策術!

システムの設計ミスから、通販における顧客データをCSV出力すると
「ご利用ありがとうございます。●●通販でございます。
お客様ID X●●●● お客様名前 ●●●●● お客様住所 ●●●●● お客様電話 ●●●●● ご注文内容 ●●●●●」と1セルに複数の情報が落ちてしまいます。
システムの修正に時間がかかるため、取り急ぎ、そのセルからエクセル関数などを使って、必要データを抜き出したいのですが、どのような方法があるでしょうか?各項目の文字数や、項目毎のスペース数はバラバラで法則性がありません。ちなみにお客様IDの頭は「X」+10桁の数字になっています。よろしくご教授ください。

A 回答 (1件)

データの中にもスペースがある可能性があるなら、一番手っとり早い方法はやはり「CSVにすること」ではないでしょうか。


1) メモ帳で開く
2) 編集-置換で、「お客様ID」→「,お客様ID,」、「お客様名前」→「,お客様名前,」という風に項目をカンマで挟むように置き換える
3) 保存してCSVとして開く

当面何度もそれを行わなければならないならば、この変換処理はExcelVBAでやっても数行の処理です。
Sub ProcSep()
Dim sDataline As String
Close
Open "C:\ファイル.csv" For Input As #1
Open "C:\ファイル2.csv" For Output As #2
Do Until EOF(1)
Line Input #1, sDataline
sDataline = Replace(sDataline, "お客様ID", ",お客様ID,")
sDataline = Replace(sDataline, "お客様名前", ",お客様名前,")
sDataline = Replace(sDataline, "お客様住所", ",お客様住所,")
sDataline = Replace(sDataline, "お客様電話", ",お客様電話,")
sDataline = Replace(sDataline, "ご注文内容", ",ご注文内容,")
Print #2, sDataline
Loop
Close
End Sub
    • good
    • 0

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