• 締切済み

Excel VBAでの固定長のテキストファイル読み込み

こんにちは。 会社にてEXCELをちょろっとかじっていると言う理由から、あまり触ったことのないVBAを使って固定長のテキストファイルを読み込むプログラムを作るように言われてしまって困っています。 利用している固定長のテキストファイル中の各行の桁数は同一でなく、行によってまちまち。しかし、各行の始めの3ケタはヘッダになっています。 例) ABCTTTTTTTTTTTTTTTTKKKKKOOOOOOPPPPPPPPWWWWWWWWWWWWWWWWWWWWWWWSS XYZLLLLL <ABCとXYZがヘッダ。同じ文字が固定長で決まったあるデータ項目と考えて下さい> もちろん、1ファイルにはもっとたくさんの行がずらずら並んでおります。 中身自体は、ある伝票の内容なのですが、1ファイル中には複数の伝票内容(ヘッダABC~XYZで1伝票)が記されております。 なので、ヘッダで言うとABC,DEF,GHI...XYZとなってまたABC~が続く。 しかも、ある伝票では途中存在しないヘッダがあったり、同じヘッダが何回も繰り返されたりするものもあります。 (ABC,DEF,DEF,DEF,GHI..やABC,GHI,JKL..など) これをどうやってEXCELの各セルに貼り付けるかがどう頑張っても分かりません。どうすればよいのでしょうか?

みんなの回答

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.2

もう一方のアカウントで同じ質問をされていたので、 もう一方のアカウントに対しマルチポストとして通報させていただきました。 以上。

yumetsuba
質問者

お礼

別質問の方へ今回の件、説明させていただいてます。 また、別の方の質問も締め切らせていただきました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

VBAで文字列の一部を抜き出すのはMID関数です これ↓で、「TTTTTTTTTTTTTTTT」を取り出せます  tx = "ABCTTTTTTTTTTTTTTTTKKKKKOOOOOOPPPPPPPPWWWWWWWWWWWWWWWWWWWWWWWSSXYZLLLLL"  moji1 = Mid(tx, 4, 16) '4文字目から16文字分 また、ヘッダー「XYZ」の場所を探すには  hd2 = InStr(1, tx, "XYZ") です

関連するQ&A