- 締切済み
エクセルでtxtデータを指定の列に取り込みたい。
エクセル2003を使用しています。 100ファイルくらいの定型フォームのtxtファイルを、エクセルの1シートの中に、同じ項目ごとに入れたいのです。 txtファイルは、ファイル名がyyyymmddhhttss.txtとなります。 ファイル内のデータは お名前: ○○○○(全角漢字) 都道府県: 東京都 郵便番号: 0000000 市区町村: 港区 番地: 番地0-0 アパート・マンション: マンション000号 電話番号: 0000000000 これを、 エクセルのA列には「お名前」、B列には「都道府県」・・・ という感じにセットしたいのです。 自分で、エクセルの1シートにまとめることはできたのですが、 同じ項目ごとに指定列に当てはめることができず、困っております。 どうかよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- gatt_mk
- ベストアンサー率29% (356/1220)
回答No.2
VBAが理解できていないと無理だと思います。 どのような内容になっているテキストデータかわかりませんが、考え方としては下記のようにやればできると思います。 1.各項目に相当する配列を宣言する 2.テキストデータの内容を項目毎に各配列に取込む 3.配列の内容を指定したセルに書き出す。 この説明でVBAのスクリプトがイメージできないようでしたら実現は難しいと思います。
- ASIMOV
- ベストアンサー率41% (982/2351)
回答No.1
>自分で、エクセルの1シートにまとめることはできたのですが、 どのようにまとめたのでしょうか?
補足
エクセル1行にtxtの1行が表示され、1つのtxtファイルの「電話番号」の次の行には次のtxtファイルの「お名前」行が表示されています。 マクロは以下のようにしています。 If MyObj Is Nothing Then Exit Sub MyFol = MyObj.self.Path & "\" MsgBox MyFol & "を処理します。" Set MyObj = Nothing Application.ScreenUpdating = False With Sheets.Add ActiveSheet.Name = "testsheet" MyFnm = Dir(MyFol & "*.txt") Do Until Len(MyFnm) = 0& i = i + 1 n = IIf(n = 0, 1, n + n1) With .QueryTables.Add(Connection:="TEXT;" & MyFol & MyFnm, _ Destination:=.Range("A" & n)) .AdjustColumnWidth = False .TextFilePlatform = xlWindows .TextFileStartRow = 1 .TextFileCommaDelimiter = True .Refresh False n1 = .ResultRange.Rows.Count .Parent.Names(.Name).Delete .Delete End With MyFnm = Dir() Loop End With