OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

EXCELのテキスト変換

  • 困ってます
  • 質問No.151368
  • 閲覧数62
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

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
とデータ毎に改行して、しかも間に,の行を入れてテキストとして出力したいのです。
よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

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

お礼が遅くなりました。
教えて頂いたモジュールをちょっと変えて実行したところ
上手くいきました。
ありがとうございました。
投稿日時 - 2001-10-15 19:31:01
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル12

ベストアンサー率 29% (242/823)

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

これって1つのセルに全部書かれているということではないですよね?
で、あれば、URLのセルの行だけ選択して、他のシートにコピーして
コピーされた行の次の行にカンマをコピーして、CSV形式でファイル出力
すれば、希望通りになると思います。

もし、同一セルに書いてあるなら、一度CSV形式で出力して、
そのファイルをカンマとスペースで区切るようにしてあげれば、別々の
セルに分かれます。
お礼コメント
noname#894

ありがとうございます。
データは複数のセルに書かれています。

データ件数が多く、データの間の行にカンマを入れなけ
ればならない(挿入)ために簡単にできないかと思って
います。
できれば変換時にカンマの行を自動挿入できればと思っ
ています。
投稿日時 - 2001-10-15 13:13:13

  • 回答No.2
レベル14

ベストアンサー率 39% (813/2055)

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

なぜ,行が必要か不明な為、参考回答です。

何かあれば補足して下さい。
お礼コメント
noname#894

ありがとうございます。
EXCELのデータをWindowsでないシステム
に渡すために、データの区切りの識別としてカンマ行
が必要なようです。
投稿日時 - 2001-10-15 13:17:05
  • 回答No.4
レベル14

ベストアンサー率 39% (813/2055)

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

アドバイスありがとうございました。
nishi6さんに教えて頂いたモジュールでできました。
おそらく私の質問内容があまり要領えず、お手数をおかけ
したと思います。
すいません。ありがとうございます。
投稿日時 - 2001-10-15 19:37:10
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ