• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:固定長データのテキストファイルのスペースについて)

テキストファイルの固定長データのスペースについて

このQ&Aのポイント
  • 固定長データのテキストファイルをExcelで読み込むと、スペース部分が前詰めされてしまうことについて質問です。
  • 質問者は、スペースもそのままカラムとして読み込む方法があるかどうか知りたいと述べています。
  • 質問に対して、手動やVBを使用してスペースを保持したままデータを読み込む方法を教えてほしいとしています。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

固定長ですがシーケンシャルで読み出すので十分と思います。 Sub macro2()  Dim buf As String  Dim i As Long  Range("A:B").NumberFormat = "@"  Open "c:\test\data.txt" For Input As #1  Do Until EOF(1)   i = i + 1   Line Input #1, buf   Cells(i, "A") = Mid(buf, 1, 6)   Cells(i, "B") = Mid(buf, 7, 10)  Loop  Close #1 End Sub

einsiedler
質問者

お礼

全て理解できたわけではありませんが ご教示頂いた内容にて、こちらの希望する通り カラム数を保持したまま読み込むことができました。 引き続き勉強しつつ、回答頂いた内容を利用させていただきます。 ご回答ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問の書き方だが、テキストファイルの「状態を、スペースは*でも置き換えて、質問に3レコードぐらい書いて質問をすればよくわかる。 これは、データー区切り位置ースペースによって・・・-次へー上向き↑線をdata01のあとにクリックしていれて、行う操作の「結果」の質問ですよね。 (>>フィールドの区切り位置として6カラム目と16カラム目に矢印を置き・・) 現状の質問文では、上記操作のことやデータの状態が判りにくい。 最初のフィールドは、設計上6桁で、必ず6桁のデータが入っているなら6桁セルに移せば仕舞いでは。 第2フィールドは右寄せで20桁の状態はどうなっているのか。 2フィールドで終わりなら、16桁目に矢印を普通入れないのでは。 3/3の画面で7桁以後を文字列に指定しても、セルにセットされたデータでは後尾のスペースは付かない。これが困るのか?

einsiedler
質問者

お礼

申し訳ございませんが、私の日本語能力では 頂いた内容が質問への回答であるとは読み取れませんでした。 ちなみに2フィールドで終わりでも矢印を入れないと 2フィールドのカラム数が果てしない事になってしまう (少なくともこちらが希望するものにはならない)のですが 回答者様の場合は問題ないのでしょうか。 (これもExcelのバージョンによるものでしょうか) 総じてよくわからないのですが、状況として困るので質問させていただきました。 他の方の回答にて対応いたしますので、またの機会には わかりやすい日本語にてご教示いただければ幸いです。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

区切り位置の機能を利用するなら、区切り位置ウィザードの3/3で、B列に該当する部分(G/標準と書かれている部分)をクリックして選択して、列のデータ形式で「文字列」にチェックを入れて「完了」してください。

einsiedler
質問者

お礼

ご回答ありがとうございます。 質問文にも記載いたしました通り、いずれのフィールドも 文字列としたのですが、うまくいきませんでした。 Excelのバージョンの問題でしょうか。 (ちなみに当方はExcel2007です。質問文にも書くべきでしたね。失礼いたしました。)