• ベストアンサー

EXCELのテキスト変換

EXCEL97ですが、以下のようにデータをテキスト変換する方法を教えてください。 データの中で1項目だけを取り出してテキストデータに変換したいのです。  例) 安部太郎 aaa@abc.co.jp 999-222-2222 佐藤太郎 bbb@abc.co.jp 999-333-3333 というデータのURLだけを抽出して     aaa@abc.co.jp , bbb@abc.co.jp とデータ毎に改行して、しかも間に,の行を入れてテキストとして出力したいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

A2から下方向にデータが並んでいるときの方法です。必要なURLの前後は『半角スペースとしています』 標準モジュールに貼り付けます。ご参考に。 Public Sub writeURL()   Dim outFilename As String '出力ファイル名   Dim rw As Long '行カウンタ   Dim dt As String 'データ   Dim pot1 As Integer '区切り位置1   Dim pot2 As Integer '区切り位置2   outFilename = "C:\My Documents\・・・・" & "\myTestFile.txt"   Open outFilename For Output As #1   For rw = 2 To Range("A65536").End(xlUp).Row     dt = Range("A" & rw)     pot1 = InStr(dt, " ")     pot2 = InStr(pot1 + 1, dt, " ")     If rw <> 2 Then Print #1, ","     Print #1, Mid(dt, pot1 + 1, pot2 - pot1 - 1)   Next   Close End Sub

noname#894
質問者

お礼

お礼が遅くなりました。 教えて頂いたモジュールをちょっと変えて実行したところ 上手くいきました。 ありがとうございました。

その他の回答 (3)

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.4

エクセルだけでは実現可能では無いのでは? したがって先ほどのCSVを変換してはいかがですか ozconv 簡単・テキストコンバータ HTMLの表からCSVに変換したり、引用符つけたり、コード変換したり、色々加工可能 と色々書いてありました 別にHTMLにこだわらず一回試されたらいかがですか?

参考URL:
http://www.vector.co.jp/soft/win95/net/se162031.html
noname#894
質問者

お礼

アドバイスありがとうございました。 nishi6さんに教えて頂いたモジュールでできました。 おそらく私の質問内容があまり要領えず、お手数をおかけ したと思います。 すいません。ありがとうございます。

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.2

参考回答として,のテキストを入れない方法で回答します 例題だとB列がアドレスのようですので B列をコピーして 新しいエクセルに貼り付け 登録する時にCSVで登録すればOKです。 なぜ,行が必要か不明な為、参考回答です。 何かあれば補足して下さい。

noname#894
質問者

お礼

ありがとうございます。 EXCELのデータをWindowsでないシステム に渡すために、データの区切りの識別としてカンマ行 が必要なようです。

  • Methyln
  • ベストアンサー率29% (242/823)
回答No.1

>データの中で1項目だけを取り出してテキストデータに変換したいのです。 >例) 安部太郎 aaa@abc.co.jp 999-222-2222 これって1つのセルに全部書かれているということではないですよね? で、あれば、URLのセルの行だけ選択して、他のシートにコピーして コピーされた行の次の行にカンマをコピーして、CSV形式でファイル出力 すれば、希望通りになると思います。 もし、同一セルに書いてあるなら、一度CSV形式で出力して、 そのファイルをカンマとスペースで区切るようにしてあげれば、別々の セルに分かれます。

noname#894
質問者

お礼

ありがとうございます。 データは複数のセルに書かれています。 データ件数が多く、データの間の行にカンマを入れなけ ればならない(挿入)ために簡単にできないかと思って います。 できれば変換時にカンマの行を自動挿入できればと思っ ています。