Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10059 / 13646 ツリー ←次へ | 前へ→

【23955】テキストファイルからデータを抽出 かもあも 05/4/8(金) 16:01 質問[未読]
【23956】Re:テキストファイルからデータを抽出 おさる 05/4/8(金) 16:18 回答[未読]
【23958】Re:テキストファイルからデータを抽出 かもあも 05/4/8(金) 16:35 質問[未読]
【23957】Re:テキストファイルからデータを抽出 Jaka 05/4/8(金) 16:28 回答[未読]
【23959】Re:テキストファイルからデータを抽出 かもあも 05/4/8(金) 16:52 発言[未読]
【23961】Re:テキストファイルからデータを抽出 Jaka 05/4/8(金) 16:53 回答[未読]
【23962】Re:テキストファイルからデータを抽出 Jaka 05/4/8(金) 17:13 回答[未読]
【23964】Re:テキストファイルからデータを抽出 かもあも 05/4/8(金) 18:02 お礼[未読]

【23955】テキストファイルからデータを抽出
質問  かもあも  - 05/4/8(金) 16:01 -

引用なし
パスワード
   すいません。教えてください。

テキストファイルから数字のデータだけを抽出し
シートにコピーしていくには、どうしたらいいでしょうか?

---テキストファイルの中身---

文字 10001 文字もじ(改行)
文字 10002 もじ(改行)
文字 10005 文字もじ(改行)
文字 20001 もじ文字(改行)

-----------------------------

シートに以下のようにコピーしたい。
10001
10002
10005
20001

説明べたですが、よろしくお願いします。

【23956】Re:テキストファイルからデータを抽出
回答  おさる  - 05/4/8(金) 16:18 -

引用なし
パスワード
   数字の前の文字数は一定ですか?

一定でしたら

一度セルに取り込んで文字区切りで余計なものを
削除すればいいですね。

あるいはSplit関数も使えると思います。

もっと高度なテクニックもあると思いますが、
それは識者の回答をお待ちください。

【23957】Re:テキストファイルからデータを抽出
回答  Jaka  - 05/4/8(金) 16:28 -

引用なし
パスワード
   こんにちは。
こういうのとか考えてません。

4444文字5文字5555
全角数字999とか888い88数字まばら

パッと見だと半角スペースで囲まれているものを取り出せばいいようにも思えますが...。

Sub kuma()
  Open "テキストファイルフルパス" For Input As #1
  Do Until EOF(1)
    Line Input #1, ReadData
    For i = 1 To Len(ReadData)
     st = Empty
     If IsNumeric(Mid(ReadData, i, 1)) Then
       st = st & Mid(ReadData, i, 1)
     End If
    Next
    Range("A65536").End(xlUp).Offset(1).Value = st
  Loop
  Close #1
End Sub

【23958】Re:テキストファイルからデータを抽出
質問  かもあも  - 05/4/8(金) 16:35 -

引用なし
パスワード
   ▼おさる さん:
おさるさん、返答ありがとうございます。

C言語や、Fortranのように
4カラム目から10カラム目までの
文字(数字?)を入手するといったことは、
出来ないのでしょうか?

【23959】Re:テキストファイルからデータを抽出
発言  かもあも  - 05/4/8(金) 16:52 -

引用なし
パスワード
   ▼Jaka さん:
Jakaさん。返答ありがとうございます。

説明を簡略化するためにデータファイルの中身を
簡単に書いてしまいました。
すいません。
テキストデータの中身は、以下の通りです。


-----テキストデータの中身------------------------

要素 4336 - ソリッド( Brick8 )
要素特性 2   
 節点  5060  5427  
要素 4337 - ソリッド( Brick8 )
要素特性 2  
 節点  5061   5060 

--------------------------------------------------

このデータを以下のように
要素 ○○
の○○の数字だけ抽出したいと考えてます。

4336
4337
4338


【23961】Re:テキストファイルからデータを抽出
回答  Jaka  - 05/4/8(金) 16:53 -

引用なし
パスワード
   >C言語や、Fortranのように
>4カラム目から10カラム目までの
4文字目から10文字目までと言う事でしょうか?
こういう事は最初に書いておいてください。

    For i = 1 To Len(ReadData)
     st = Empty
     If IsNumeric(Mid(ReadData, i, 1)) Then
       st = st & Mid(ReadData, i, 1)
     End If
     Range("A65536").End(xlUp).Offset(1).Value = st
    Next
      ↓
    Range("A65536").End(xlUp).Offset(1).Value = Mid(ReadData, 4, 7)

【23962】Re:テキストファイルからデータを抽出
回答  Jaka  - 05/4/8(金) 17:13 -

引用なし
パスワード
   Sub kuma()
  Open "テキストファイルフルパス" For Input As #1
  Do Until EOF(1)
    Line Input #1, ReadData
    i = i + 1
    If i = 3 * ii + 1 Then
     Range("A65536").End(xlUp).Offset(1).Value = Mid(ReadData, 4, 5)
     ii = ii + 1
    End If
  Loop
  Close #1
End Sub

【23964】Re:テキストファイルからデータを抽出
お礼  かもあも  - 05/4/8(金) 18:02 -

引用なし
パスワード
   ▼Jaka さん:
Jakaさん。
ありがとうございました。

はじめからちゃんと質問すればよかったです。
でも、おかげさまで、出来ました。
ありがとうございました。

10059 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free