• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一連のtxtからexcelに表形式で取り込みたい)

メールのtxtデータをexcelに表形式で取り込む方法

misatoannaの回答

回答No.1

テキストファイルは、1行目から「データ行5、空白行1」で連続している前提です。 また、取り込み先Excelの1行目(タイトル)は手入力していただくとしまして―― 次のマクロを試してみてください。 ※5行目の " " 内は、テキストファイルの実際のフルパスに書き換えます。 Sub Test()  Dim FName As String, FF As Variant, Bun As String  Dim gyo As Long, rw As Long  Application.ScreenUpdating = False  FName = "C:\aaaa\bbbb\nnnn.txt"  '※  gyo = 1  'TEXTファイルの行  FF = FreeFile  rw = 2   'Excelの行カウンタ  Open FName For Input As #FF  Do Until EOF(FF)   Line Input #FF, Bun   Select Case gyo Mod (6)    Case Is = 1     Cells(rw, 1).Value = Replace(Bun, "Subject:", "")    Case Is = 2     Cells(rw, 2).Value = Replace(Bun, "From:", "")    Case Is = 3     Cells(rw, 3).Value = Replace(Bun, "Date:", "")    Case Is = 4     Cells(rw, 4).Value = Replace(Bun, "To:", "")    Case Is = 5     Cells(rw, 5).Value = Bun    Case Is = 0     rw = rw + 1   End Select   gyo = gyo + 1  Loop  Close #FF  Application.ScreenUpdating = True End Sub

cosmo11
質問者

お礼

ご回答ありがとうございます。 txtファイル内が定型ならうまくいくのですが、 勤務の報告を2行にわたって書いてくる人もいたりするので、 そうするとずれてしまいますね。 ちょっといじればできそうな気もしますが、 マクロ初心者の私には少し難しそうでした。 でも回答頂きありがとうございました。

関連するQ&A

  • excel 重複したデータのコピー

    例えばこんなデータがあるとします。 名前  値 鈴木  1 佐藤  2 佐藤  5 小林  2 田中  3 田中  1 田中  2 斉藤  0 山田  4 山田  2 というデータから 佐藤  2 佐藤  5 田中  3 田中  1 田中  2 山田  4 山田  2 という感じで名前が2つ以上あるデータだけ抽出・コピーをしたいのですが、 どういう風にすれば出来るでしょうか。

  • 複数のシートのセル内容をひとつにまとめたい

    複数のシートのセル内容をひとつにまとめたいと思っています。 Sheet1        Sheet2      Sheet3 1 山田 ¥100  1 山田 ¥80  3 鈴木 ¥80 2 佐藤 ¥130  2 佐藤 ¥55  4 田中 ¥150 3 鈴木 ¥110  4 田中 ¥60 こんなデータを Sheet4 1 山田 2 佐藤 3 鈴木 4 田中 とまとめたいんです。 金額は必要ないので、番号と名前だけをまとめたいんです。 どうすれば良いか、教えてください。 よろしくお願いします。

  • 【HELP!!】Excelから保存したtxtデータに「改行コード」を入れない方法(VBA)

    あるデータをExcelマクロを使って生成しています。 txtに保存するときに、120バイトで揃えたいのですが、データに改行コードが入る為120バイトを超えてしまうようです。 データは最大200行。 Excelのセルで生成されたデータはそのままに、改行コードのみをtxtの段階で削除する方法を教えてください! とっても困っています・・・ ちなみに・・・ ActiveWorkbook.SaveAs Filename:="C:\MIKAZUKI.txt", FileFormat:=xlUnicodeText _ , CreateBackup:=False が今のコードです。 不足な資料等があればジャンジャン送ります。

  • エクセルのデータで重複する名前のセルの色を黄色に変

    エクセルのデータで重複する名前のセルの色を黄色に変えたいんですがどうしたらいいですか? 鈴木イチロー 黄色 山田花子 黄色 田中三郎 鈴木イチロー 黄色 佐藤明菜 山田花子 黄色 このような感じに縦に並んでいるデータがあるんですが、この重複しているデータのセルの色を黄色に変えたいです よろしくお願いします!

  • リストの単語がテキストファイルで何回出てくるか

    「人の苗字+改行」がたくさん入力されているname.txtと 「苗字が登場する会話文」がたくさん入力されているconv.txtの 二つのファイルがあります。 【name.txt】 鈴木 田中 佐藤 ・・・ 【conv.txt】 昨日の山田さんの話によれば、明日は佐藤さんが担当だそうだ。 京都の中山君が来たときに荷物を届けてほしい。 ・・・ これらname.txtのそれぞれが、conv.txt全体で何回出てきたかを求めるprelのプログラムを作りたいのですが、どのようにしたら良いでしょうか。 アウトプットは 鈴木 256 田中 982 佐藤 157 ・・・ となるようにしたいと思っています。 皆さまのお知恵をお貸しくださいませ。

  • エクセルでのtxtデータ読み込みについて

    まずtxtデータの中身です。 20080702,0952,00001,158860031 20080702,0952,00001,158860031 20080702,0952,00001,158860031 20080702,0952,00001,158860031 20080702,0952,00001,158860031 20080702,0953,00001,158860031 20080702,0953,00001,156850100 20080702,0954,00001,452365524 20080704,1245,00001,452365524 ・ ・ ・ ・ みてもらうとわかるのですが、日付や時刻データが先頭に 並んでいる内容のtxtデータです。 カンマで区切られ、158860031の部分で1つのデータは終わりです。 ここで改行されて延々と続きます。 やりたいことは、txtファイルのデータをエクセルに取り込み、この最後の部分のカウントしたいということです。 この場合だと、エクセルにて158860031が6つという感じでカウント したいのですが、なんの機能を使えばいいのかわかりません。 どの機能を使ったらいいのかの部分がわからないので、 答えていただける方は「こういう機能がありますよ」 と指摘していただけるとありがたいです。 細かい内容については自分で調べることはできます。 できれば、いろんな方法を知りたいと思っています。 よろしくお願いします。。。

  • Excelでの樹形図

    Excelでの樹形図 あるチームにおける人の組み合わせは ex:6人チームの場合 6×5×4×3×2×1=720通り ですが それらの組み合わせを全て網羅する一覧を Excelで作る事は出来るの でしょうか? ex:セルA1=田中さん セルA2=田中さん、山田さん セルA3=田中さん、山田さん、佐藤さん…… ご教授、よろしくお願いいたします

  • エクセルで、次のような自動入力をしたい

      A    B    C    D   E  ・・ AA 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、AAの列に名前を入力したとき、 D1に「山田」、C2「海岡」と、その行に関してAA列に新規の名前が入力されたときにD1,C2に自動入力することは、VBAで簡単にできますか? 3列目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。(マクロ初心者です)

  • 【エクセル】縦に続いた表を横にして整理したい

    表題の通りですが、エクセル2003で、以下のようなことがしたいです。 [元データ]   A     B       1  氏名   田中 2  住所   東京 3  電話番号 *** 4  登録日  *** 5 6  氏名   鈴木 7  住所   埼玉 8  電話番号 *** 9  登録日  *** 10 11  氏名   佐藤 12  住所   埼玉 13  電話番号 *** 14  15 氏名   工藤 のように一人分のデータが、空白セル1マス空けて、延々と続いた様な表があります(3万行くらい)。 これを下記のように変更したいのです [整理後]   A    B    C    D    E 1 氏名   住所   電話番号  登録日 1 田中   東京   ***   *** 2 鈴木   埼玉   ***   *** 3 佐藤   埼玉   ***   (空白) 4 工藤    5 のような感じです。 3つ目の佐藤氏のデータのように元データに登録日という項目が無い場合があります。 それ以外の項目に関して順番や有無の違いはありません、1データの最終行にある登録日という 項目だけ有ったり無かったりします。 項目だけは縦のものを横に貼り付け、で出来たのですが、それが意外のデータを効率よく移すには どうしたら良いでしょうか。 関数、マクロを教えていただけたらありがたいです。こうしたら良いというアイデアだけでも助かります。どうか宜しくお願いします。 (説明不足のところがありましたらすいません…補足致します)

  • EXCEL 縦横ある顧客名から、重複をなくす方法を教えて下さい。

    下記の様なデータがあるとします。     1月度 高橋 佐藤 山田 2月度 佐藤 佐藤 山田 3月度 山田 高橋 高橋 4月度 山田 佐藤 高橋 ↓ これを結果、 高橋 佐藤 山田 と、重複をなくして、抽出させたいのです。 縦だけならば、フィルタオプションで出来たのですが、縦にも横にもたくさんデータがあるので、 方法に困っています。 良い方法を教えて下さい。