- ベストアンサー
テキストデータをエクセルに変換したい!
改行されていない連続したテキストデータをエクセルに変換したいのですがどうしたらいいのでしょう? 普通、レコード毎に改行されたテキストデータならば、エクセルから該当のテキストファイルを読み込めば区切ってやればいいと思うのですが、改行されていないため、縦に並ばずにすべてのデータが横に並んでしまっています。 すいません、教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
もしレコード数(エクセルに読みこんだとして、行数に相当する)が少ないのなら、メモ帳に読みこんで、シコシコと、目視で区切りを探し(,の数を数えていく)エンタキーを押せば良いでしょう。エディタとはメモ帳のようなソフトです。 これが面倒で出来ない数なら、VBAで、区切りのカンマの数を数え、項目が例えば4(氏名、郵便番号、住所、関係とか)なら、4つ見つかると改行コードをいれカンマは 入れないように改造して、新しい別ファイルに書き出します。しかし補足を読むとVBAを使ってもらえないような感じですね。 改行コードとは何かのソフトで画面に表示した時に、次行に表示されている時は、前行の終わりと、当行の初めの間に、コンピュタの文字コード(但し文字は見えない)が入っている結果と考えられるケースが多い。具体的には16進数表示で0D(復帰、CR)や0A(改行、LF)や両方組み合わせた0D0Aなどで2進数では0Dは00001101です。0Aは00001100です。これらは改行やレコードの終わりやファイルの終わりなどを表す特殊なコードで、タイプライタ以来の歴史的背景があり、そういう慣わしになっているものです。印刷のばあいも文字は出ないで機能をプリンタに指示するコードですが同じ改行復帰をさせます。
その他の回答 (6)
- bari_saku
- ベストアンサー率17% (1827/10268)
具体的にどのようなデータなのか、もし差し支えなければ教えて下さい。
- takkuni
- ベストアンサー率24% (166/676)
該当ファイルを右クリック、アプリケーションから開くをくりっく、プログラムの選択からエクセルを選択します。 開いたら、編集~ファイル~文字の割付を選択します。 セルA1から読み込まれるので、A1のセル幅を適当な長さにしてから実行してみて下さい。そうするとセル内にぴったり収まるようになります。 改行する箇所(セル幅)を指定するのに何回か試行が必要かと思います。
- Mozisan
- ベストアンサー率43% (130/299)
データ数が255以下ならば、コピー・貼付けで縦ならびに変えられます。256以上なら、他の皆さんがお答えされたように、テキストファイルを編集する必要があります。データの区切りなどを補足すると、より具体的な編集方法を答えてもらえますよ。 ○コピー・貼り付けの方法 1.範囲を選択し、コピーボタンをクリックします。 2.貼り付けるセルをアクティブにし、メニューバーの「編集」-「形式を選択して貼り付け」をクリックします。 3.「形式を選択して貼り付け」ダイアログの「OK」ボタンのすぐ上に「行列を入れ替える」チェックボックスがある(Excel2000の場合)ので、クリックしてチェックを表示させます。 4.「OK」ボタンをクリックします。
補足
データ数は数千個あります。
- epson01
- ベストアンサー率12% (120/933)
そのデータは固定長ですよね?
補足
数千個の固定長のデータがすべてつながっている状態です。
- kojitti
- ベストアンサー率32% (449/1386)
VBAで読み込んで適当な長さで改行コードを付加すればよいのでは?
補足
すいません、「改行コード」ってなんでしょうか。申し訳ありませんが具体的に教えてください<(_ _)>
- HAL007
- ベストアンサー率29% (1751/5869)
エディタなどを使って改行を入れるしか方法はありません。 エディタにマクロ機能があれば同一文字数で改行を入れる事も出来きます。
補足
すいません、「エディタ」ってなんですか?本当に素人ですいません<(_ _)>
お礼
皆さん、ありがとうございました。皆さんのお教えを参考に自分なりに調べましたら、1データ100文字のランダムアクセスファイルであることが分かりました。そして「Getステートメント」を使用して以下のプロシージャを作成しましたところうまくいきました。本当にありがとうございました。今後ともよろしくお願いします。 Sub READ_RANDAM() Dim TMPVAR As String * 100 OBJFILE = FreeFile() Open "TEST.TXT" For Random As OBJFILE Len = 100 For n = 1 To FileLen("TEST.TXT") / 100 Get OBJFILE, , TMPVAR Cells(n, 1) = Mid(TMPVAR, 1, 100) Next End Sub 以上