- 締切済み
テキストファイルからの任意データの抜き出し
テキストファイルから下記のデータを取り出したいです。 どうすればいいでしょうか?(エクセルのVBAでできますか?) (やりたいこと) ・行の先頭から始まる000*******の数字を取り出す。 (******は任意の数字。注意点:00000*****には続けて、アルファベットや漢字が続く。また他の箇所にも数字があるが、行の先頭から始まるものだけをとりだしたい。) ・任意の文字列のあとの数字を取り出したい。 (注意点:数字の桁数はさまざまである。) 下記にイメージのテキストファイルとそれをもとにやりたいことを記載します。 だれかご教授ください。 お願いします。 (イメージ) ABC 00005674 あいうえお 0000012345ABCDEF かきくけこ さしすせと 213223434 いろは98989898 ABC 00005675 あいうえお 0000012346ABCDEF かきくけこ さしすせと 213223434 いろは34343434 ABC 00005676 あいうえお 0000012347ABCDEF かきくけこ さしすせと 213223434 いろは1212 (次のように取り出したい。) 0000012345 98989898 0000012346 34343434 0000012347 1212
- みんなの回答 (5)
- 専門家の回答
みんなの回答
全て対応できます。
補足: ? "0000" & Trim(Str(Val(CutStr("ABC 00005674 あいうえお", "0000", 2)))) 00005674 こんな手も・・・。
- anotherone
- ベストアンサー率54% (35/64)
ABC 00005674 あいうえお 0000012345ABCDEF かきくけこ さしすせと 213223434 いろは98989898 1行の中で 区切りが何ヶ所かありますが 全角スペースでしょうか 半角スペースでしょうか タブですか TXTは固定の場所の固定の名前のファイルなのでしょうか ファイルはたくさんあるのでしょうか 1ファイルの中に行数はたくさんあるのでしょうか 良ければ教えてください
補足
ご回答ありがとうございます。 >全角スペースでしょうか 半角スペースでしょうか タブですか 全角スペースです。 >TXTは固定の場所の固定の名前のファイルなのでしょうか PDFファイルからテキストをコピーしてtxtファイルに張り付けたものですので、ファイル名は任意の名前で任意の場所です。 >ファイルはたくさんあるのでしょうか ファイルは1ファイルです。 >1ファイルの中に行数はたくさんあるのでしょうか はい。 行数は100行ほどです。
[イミディエイト] ? CutStr(CutStr("ABC 00005674 あいうえお", "ABC", 2), " ", 2) 00005674 ? Format(Val(CutStr("ABC 00005674 あいうえお", "ABC", 2)),"00000000") 00005674 ? CutStr("いろは98989898", "いろは", 2) 98989898 ? CutStr("いろは34343434", "いろは", 2) 34343434 Excel 2003 のイミディエイトウインドウでの抜き出しテストです。 次の CutStr関数一つでも工夫しだいでは・・・。 <標準モジュール> Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function
補足
ありがとうございます。 基本的なことがわかってないのですが、、 これらの内容をエクセルのどの画面に入力すればいいのでしょうか?
- koko_u_
- ベストアンサー率18% (459/2509)
>テキストファイルから下記のデータを取り出したいです。 >どうすればいいでしょうか?(エクセルのVBAでできますか?) 簡単なのは、秀丸のような正規表現をサポートするエディタで要らない部分をスペースに置換する
補足
回答ありがとうございます。 (イメージ)で下記の部分に関してですが、 ”ABCDEF かきくけこ さしすせと 213223434” この部分も実は、固定の文字列、数字ではなく、いろんな文字列、数字がならびます。 このような状況でも、上記関数で対応できるのでしょうか? (理解してなくてすみません。) ”いろは”は常に固定です。 説明不足で申し訳ありせんでしたが、 下記のようなイメージもありうるということです。 (すみません。) (イメージ) ABC 00005674 あいうえお 0000012345NFFDEF かきくけこ さしすせと 213223434 いろは98989898 ABC 00005675 あいうえお 0000012346ABFGHJ かきくけこ さしすせと 3334 いろは34343434 ABC 00005676 あいうえお 0000012347ASADEF かきまみあかさた あいう 2132 いろは1212