
固定長データのテキストファイルをExcelで読み込むと、スペース部分が前詰めされてしまいます。
スペースもそのままカラムとして読み込む方法はありませんでしょうか。
例えば次のような固定長データがあるとします;
No. 項目名 タイプ 桁数
1 コード 文字 6
2 状態 文字 10
テキストファイルで開くと下記のような表示です(以下、便宜上スペースを”_”で表します);
data011________1
data02_________1
data03____1_____
これをExcelにて固定長フィールドのデータとして読み込む際、
フィールドの区切り位置として6カラム目と16カラム目に矢印を置き
全てのフィールドを文字列として読みこむとExcelでは下記のように表示されます;
A列 B列
1行目 data01 1________1
2行目 data02 1
3行目 data03 1
ここで、B2セルとB3セルがそれぞれ
_________1
____1_____
とスペースを保持したままの形で読み込む方法はありませんでしょうか。
手動でもVBでもかまいません。ご教示頂ければ幸いです。
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
全て理解できたわけではありませんが
ご教示頂いた内容にて、こちらの希望する通り
カラム数を保持したまま読み込むことができました。
引き続き勉強しつつ、回答頂いた内容を利用させていただきます。
ご回答ありがとうございました。
No.3
- 回答日時:
質問の書き方だが、テキストファイルの「状態を、スペースは*でも置き換えて、質問に3レコードぐらい書いて質問をすればよくわかる。
これは、データー区切り位置ースペースによって・・・-次へー上向き↑線をdata01のあとにクリックしていれて、行う操作の「結果」の質問ですよね。
(>>フィールドの区切り位置として6カラム目と16カラム目に矢印を置き・・)
現状の質問文では、上記操作のことやデータの状態が判りにくい。
最初のフィールドは、設計上6桁で、必ず6桁のデータが入っているなら6桁セルに移せば仕舞いでは。
第2フィールドは右寄せで20桁の状態はどうなっているのか。
2フィールドで終わりなら、16桁目に矢印を普通入れないのでは。
3/3の画面で7桁以後を文字列に指定しても、セルにセットされたデータでは後尾のスペースは付かない。これが困るのか?
申し訳ございませんが、私の日本語能力では
頂いた内容が質問への回答であるとは読み取れませんでした。
ちなみに2フィールドで終わりでも矢印を入れないと
2フィールドのカラム数が果てしない事になってしまう
(少なくともこちらが希望するものにはならない)のですが
回答者様の場合は問題ないのでしょうか。
(これもExcelのバージョンによるものでしょうか)
総じてよくわからないのですが、状況として困るので質問させていただきました。
他の方の回答にて対応いたしますので、またの機会には
わかりやすい日本語にてご教示いただければ幸いです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
phpmyadminで条件付きの検索置...
-
配列に指定した値が含まれてい...
-
アクセスのレポートでレコード...
-
AccessのSQL文で1件のみヒット...
-
小数点以下桁数が最大の値に小...
-
where句中のtrim関数について
-
単一グループのグループ関数で...
-
1の行を固定した上でVBAを用い...
-
70000行以上のソートをしたいです
-
phpmyadminでワイルドカードを...
-
【PL/SQL】FROM区に変数を使う方法
-
ソートした文字を別セルに表示する
-
Excelで作成した円グラフのデー...
-
枝番の最大値とその前のデータ...
-
MySQLで日付(date)型のdefaul...
-
SELECT FOR UPDATE で該当レコ...
-
ntext更新時にエラーが出ます
-
group byの並び順を変えるだけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
BLOBやCLOBのパフォーマンスを...
-
ACCESSのクエリで空白以降を別...
-
int型フィールドにnullを登録で...
-
Null値件数をカウントする式に...
-
SELECTした合計値をそのまま割...
-
入力データの半角スペースと全...
-
テーブルのフィールドの一番長...
-
ファイルメーカー10で重複デー...
-
固定長データのテキストファイ...
-
配列に指定した値が含まれてい...
-
MySQLでの近似値順での値の取得...
-
CSVからNULL値をインポート
-
2回実行のSQL文を1回にしたい
-
phpMyAdminでインポート
-
【MySQL】 DECIMAL(2,1) に 13...
-
SQLです下記の問合せを行うクエ...
-
重複しないデータのみを抽出
-
チェックボックスから得る値を...
おすすめ情報