Excel VBA質問箱 IV

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

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


7385 / 13644 ツリー ←次へ | 前へ→

【39458】テキストファイルの内容を1シートに読み込み kaoru 06/6/24(土) 14:27 質問[未読]
【39464】Re:テキストファイルの内容を1シートに読み... Kein 06/6/24(土) 15:34 回答[未読]
【39468】Re:テキストファイルの内容を1シートに読み... kaoru 06/6/24(土) 15:56 お礼[未読]

【39458】テキストファイルの内容を1シートに読み...
質問  kaoru  - 06/6/24(土) 14:27 -

引用なし
パスワード
   こんにちは、いつも勉強させていただいています。
さて、同一フォルダー内の全テキストファイル(50件程度)の内容を
指定したシートの2列目2行目から順に先頭にファイル名をつけて読み込ませたい
のですが・・・。
テキストファイル(山田太郎.txt) の内容は
2006/04/05,常 食,750k,朝300 昼300 夕200,うどんが好物
2006/08/05,常 食,800k,朝300 昼900 夕200,うどんが好物
テキストファイル(山本花子.txt) の内容は
2006/04/04,DM 1400kcal,750k,極キザミ,
とある各テキストファイルを
シート名「書込み」へカンマ区切りごとに
  A  B     C      D       E       F
1
2   山田太郎 2006/04/05  常 食     750k 朝300 昼300 夕・・
3   山田太郎 2006/08/05  常 食     800k 朝300 昼900 夕・・
4   山本花子 2006/04/04  DM 1400kcal 750k 極キザミ
5

ということなんですが、どうしたらよいのか困っています。
どなたか教えてください。よろしくお願いいたします。


【39464】Re:テキストファイルの内容を1シートに読...
回答  Kein  - 06/6/24(土) 15:34 -

引用なし
パスワード
   仮にテキストファイルの保存先が
C:\Documents and Settings\User\My Documents\My Text
てあるとして、Sheet1 に読み込むなら

Sub Read_MyText()
  Dim MyF As String, Buf As String
  Dim Fnum As Long, i As Long
  Dim Ary As Variant
  Const Ph As String = _
  "C:\Documents and Settings\User\My Documents\My Text\"

  MyF = Dir(Ph & "*.txt"): i = 2
  Do Until MyF = ""
   Fnum = FreeFile()
   Open Ph & MyF For Input Access Read As #Fnum
   Do Until EOF(Fnum)
     Line Input #Fnum, Buf
     Ary = Split(Buf, ",") '区切り文字をカンマとする。
     With Worksheets("Sheet1")
      .Cells(i, 2).Value = Left$(MyF, Len(MyF) - 4)
      .Cells(i, 3).Resize(, UBound(Ary) + 1).Value = Ary
     End With
     i = i + 1: Erase Ary
   Loop
   Close #Fnum
   MyF = Dir()
  Loop
  MsgBox "全てのテキストファイルデータを読み込みました", 64
End Sub

【39468】Re:テキストファイルの内容を1シートに読...
お礼  kaoru  - 06/6/24(土) 15:56 -

引用なし
パスワード
   ▼Kein さん:
 ありがとうございます。
 とても助かりました。完璧です!!
 

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