• ベストアンサー
  • すぐに回答を!

【Excel VBA マクロ】 文字列の(開始位置、文字数での)分割に

  • 質問No.6114691
  • 閲覧数1908
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 70% (12/17)

【Excel VBA マクロ】 文字列の(開始位置、文字数での)分割について

Excel vba をはじめて1ヵ月程度の初心者ですが、質問させて下さい。

例えば、4000バイトの文字が並んでいるテキストファイルがあったとして、
そのレイアウト(項目名、開始位置、長さ)があったとします。

例)
【テキストファイル】
000001交換先1□□□□□□□□□□□□□□□□0612345678・・・(以下続く)
000002交換先2□□□□□□□□□□□□□□□□0312345678・・・(以下続く)

(以下、複数レコードが存在)


【レイアウト】
交換ID,1,6
交換先名,7,20
電話番号,28,10




これをエクセルのセルに項目ごとに分割して、
以下のように貼り付けるようなマクロを組みたいのですが、
良い方法はありますでしょうか。

【作成したい物】
-------------------------------------------
|交換ID  |交換先名 |電話番号   |・・・
-------------------------------------------
|000001   |交換先1 |0612345678 |・・・
-------------------------------------------
|000002   |交換先2 |0312345678 |・・・
-------------------------------------------


どなたか御教授宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 79% (496/625)

固定長フィールドのテキストデータの読込みですね。
まずはExcelの基本機能を利用してみてください。

2003の場合、[データ]-[外部データの取り込み]-[データの取り込み]...
2007の場合、[データ]-[外部データの取り込み]-[テキストファイル]...
ここから[テキストファイルウィザード]が開きます。
この時「元のデータの形式」で「スペースによって右または左に揃えられた固定長フィールドのデータ」を選択してすすめます。

この一連の作業を[マクロ記録]すると、QueryTablesオブジェクトを用いた参考コードが得られます。
お礼コメント
t_red

お礼率 70% (12/17)

ご回答ありがとうございました。
お返事が遅くなって申し訳ありません。

大変参考になりました^^
投稿日時:2010/08/28 22:13

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 23% (292/1222)

すぐに役立つエクセルVBAマクロ集
というサイトのブックシート、テキストファイルを行単位で読み込む、というサンプルあります。

MID関数で何文字めからn文字という指定ができます。

EXCELでお仕事
というサイトのVBAの基本、初心者のよくある疑問間違いや誤解、を読んでおくことをオススメします。

回答コードをズバリもらう、コピー貼付けで解決、は考えることしないやり方になってしまうので、上達遅いです。ヒントだけにしておきます。
お礼コメント
t_red

お礼率 70% (12/17)

ご回答ありがとうございました。
お返事が遅くなって申し訳ありません。

これは参考になるサイトですね!
とても勉強になりました^^
投稿日時:2010/08/28 22:15
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ